一. 在ui界面下创建信号与槽的链接
先创键一个新的项目,进入到ui界面下,添加一个按钮进来
这有两个选项右面是进行设置,左面是退出设置,也可以按快捷键F3F4
进入到编辑模式下之后我们点击一下按钮往下拖一下就会出来以下界面
然后我们把下面的选项勾上就能找到信号与槽了,这里我们选择按下按钮关闭窗口
选择ok,运行这个项目
点击一下这个按钮窗口就关闭了。
二. Ui界面下singal slot Edit方式链接
我们再次进入到ui界面下,然后添加一个按钮,然后下面有个加号,如图所示:
点击一下,出来这个
然后我们双击选择发送者,信号,接收者和槽,这里我们还是选择按钮按下 信号然后窗口关闭。
这次的运行结果和第一种相同。
三. QT4下的方法最常用的方法
这里我们再创建一个新的项目
写入以上数据,就可以实现按下按钮,关闭窗口。
我们也可以再SLOT里面写入自定义槽函数,我们写一个自定义槽函数myclicked(),还得在头文件中声明,因为我们定义的是槽函数所以我们要这样声明private slots: void myclicked();
我们在ui界面加了一个label,然后我们写connect
然后我们运行
点击按钮就改变了label里面的内容。
四. 自动关联
我们在ui界面下加入一个按钮点击右键,转到槽,然后就自己创建好了一个槽函数,其定义的名字我们不能进行改变,自动关联就说明其名字一点都不能变,变一点就找不到它。
运行项目,点击按钮就可以改变按钮的名字。
五. connect()函数基于函数指针的重载形式QT5下使用
这个和第三种方法差不多,只不过我们运用指针和取地址的方法进行链接
运行结果与第三种方法相同
六.手动提交 emit方式
需要在头文件中声明mySignal函数signal,
signals:
mySignal();
当点击按钮时,按钮的内容和label里的内容都会改变。
七. lambda c++11下使用
要使用lambda我们得在pro文件里加上CONFIG += c++11
具体可参考https://www.cnblogs.com/rainbow70626/p/10328143.html