信号与槽在Qt中应用十分广泛,本篇简述集中信号与槽的实现方式。
一、使用设计器来实现信号与槽。
1、单击设计器上的方的Edit Signals/ Slots图标(或者按下F4),于是进入信号与槽编辑模式。
2、在发送信号的部件按住鼠标左键,然后拖动到接收信号的部件上,松开鼠标。
3、在弹出的配置连接对话框中选择“显示从QWidget继承的信号与槽”选项(对话框左下角,若未继承Widget可能无此选项)。
4、选取相应的的信号与槽函数,单击OK就可实现信号与槽的关联。
5、若要取消关联,在该模式下,选择这个关联,当它变为红色时,按下Delete键即可。
6、按下编辑控件图标或者按下F3退出信号与槽编辑模式。
二、使用connect()(手动关联)函数实现信号与槽的关联。
1、确定发射信号的对象,发射的信号,接受信号的对象,要执行的槽。
2、使用slots和singnal设置相应的槽与信号。
3、使用connect(发射信号的对象,发射的信号,接受信号的对象,要执行的槽)函数将信号与槽关联起来。
三、使用自动关联
1、在设计器信号发射部件(Action Edit的部件)上单击右键,在弹出的对话框中选择转到槽。
2、编辑该函数即可。
注:若不是在设计器上添加的部件,需在setupUi()函数前定义该部件(否则不能实现信号与槽的关联)且需使用setObjectName()函数指定部件名。