QT+VS2017学习笔记一:添加控件 连接信号与槽 点击控件按钮弹出子窗口 | 您所在的位置:网站首页 › qt控制台程序没有弹出窗口 › QT+VS2017学习笔记一:添加控件 连接信号与槽 点击控件按钮弹出子窗口 |
目录
创建新项目添加控件 button按钮给控件绑定信号与槽单击Button弹出子窗口(非模态)单击Button弹出子窗口(模态)
最近可能会做一些测试工具,于是想到了带GUI界面的QT,正好是C++语言开发比较熟悉,这里就记录下学习过程,QT+VS2017的安装和配置就不说了,网上一搜一大把,本篇作为开篇主要记录下如何用VS创建新的QT项目以及基本的添加控件并且绑定处理函数的流程(QT里面好像是叫做信号与槽的连接)
创建新项目
QtFather.ui 编辑UI界面的,双击打开会出现Qt设计师窗口,里面会有一些控件提供给我们使用 QtFather.h和QtFather.cpp就是我们的主窗口类了 默认启动会弹出这个窗口来 main.cpp就是主函数入口了,这个暂时不多说 QtFather,也就是主窗口类中默认有个成员变量 Ui::QtFatherClass ui; ![]() ![]() ![]() ![]() 刚添加好的控件,在QT中是不会自动给你绑定相关的处理函数的,还需要手动的绑定一下,先在窗口类中定义下pushButton的处理函数(名字随意) 然后在父窗口类的构造中调用connect函数进行绑定,也就是说一旦产生了clicked信号就调用pushButton_slots()函数 connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(pushButton_slots()));注:避免和linux socket函数中的connect冲突,网络连接函数可以::connect(fd,…)这样用 ![]() ![]() ![]() ![]() 首先还是重复上面操作,绑定一个button,然后在button单击的处理动作上添加如下代码 Qt::NonModal :该窗口不是模态,不会阻塞其它界面接受输入信息; Qt::WindowModal:该窗口是一个当以层次的模态窗口,会阻塞它的父窗口、祖父窗口和各个兄弟窗口接受输入信息 Qt::ApplicationModal:该窗口是应用模态窗口,会阻塞所有窗口接受输入信息。 注意:本文创建新窗口的方式,从代码角度上QtSon和QtFather是没有任何父子关系的,所以说Qt::WindowModal并不会阻塞QtFather窗口,如果加入父子关系可以在new QtSon(Parent)传入参数指定该窗口的父窗口 |
CopyRight 2018-2019 实验室设备网 版权所有 |