1

简介

  对于界面新手而言,想要玩转qt还是需要多加磨炼的,为便于学习,特开本栏,在后期学习中,也会不断更新。

  先看下新建完项目后会有哪些文件:在这里,新建一个名为qt的项目,生成项目中包含的文件如图所示:

image.png

  • qt.ui为界面所在的文件
  • qt.h为头文件
  • qt.cpp为函数实现文件
  • main.cpp为主函数

  从文件构造来看,与C/C++并没有太多的区别,老实说,确实也没有太多的区别,重点在于如何实现qt.ui中的组件与qt.h(cpp)的代码关联在一起,计算器是一个比较经典的例子,所以,就从它开始,作为qt学习的Hello World

qt.ui组件添加

  双击qt.ui,进入设置界面,如下图所示:
image.png

  要想做一个界面,首先要考虑功能,而后由功能反推结构,作为一个简单的加法计算器,你需要能手动输入加数被加数,然后,可以显示

  输入加数被加数,是一个input的过程,所以,该插件需要在Input Widgets目录下找:
image.png
  选择的插件类型为Spin Box(其余插件会在后续学习中应用)

  只是一个输出,是可以手动操作与更改的,所以,需要再Display Widgets目录下找:
image.png
  由于是显示内容,所以,选择Text Browser即可。至于其余的显示,用Label就可以了。
  在添加这些组件后,为便于操作,且让没一个组件都对应一个具有实际意义的变量,需要重命名一下:
image.png

qt.h(cpp)代码实现

  作为动态加法计算器,最突出的特点就是,不管你修改哪个值,都会实时更新结果,而且,同一时间,你能且仅能操作其中一个(被)加数,所以,我们要在这里添加两个函数,其功能为,如果修改的为加数,那就将修改后的数值与被加数进行计算,反之,就是与加数进行计算,实现函数为:

//qt.h中添加函数
void add1_valueChanged(int value);
void add2_valueChanged(int value);

//qt.cpp实现函数
//result为组件`和`的名字,也就是说,`组件名`可作为类ui的变量
void qt::add1_valueChanged(int value)
{
    ui.result->setText(QString::number(value + ui.add2->value()));
}
void qt::add2_valueChanged(int value)
{
    ui.result->setText(QString::number(value + ui.add1->value()));
}

  截止与此,函数方面已经基本实现功能了,下一步就是要将界面与代码进行关联:

信号/槽链接

  点击编辑信号/槽功能,个人理解,这就是个功能连接,将该组件的操作连接到相关函数上,也可以用个button进行操作。
image.png
  按住鼠标左键,做如图操作:
image.png
  弹出配置链接窗口,并链接上相关函数:
image.png
image.png
  完成上述操作后,就可以进行编译并运行了。


琼筵醉月
12 声望11 粉丝