信号是由于用户对窗口或者控件进行某些操作,导致窗口或者控件产生某种特定事件,Qt对应的窗口类会发出某个信号,来对用户的挑选作出反应。
信号的本质就是事件:
如:按钮单击,双击、窗口刷新、鼠标移动,释放,按下、键盘输入。
信号(对产生事件的描述)的呈现形式就是函数。某个事件产生了,Qt框架就会调用某个对应的信号函数,通知使用者。
在 QT中信号的发出者是某个实例化的类对象,对象内部都可进行事件相关检测。只有对象被实例化了,才能检测到相关事件的产生,并发出对应的信号。
槽函数,对信号处理的一种动作,
槽的本质
qt中,槽函数也是一类特殊功能的函数,编码过程中,也作为类的普遍成员函数来使用。被称为槽函数是因为它们还有一个职责就是对qt框架中产生的信号进行处理。
女友说:“肚子饿了”,于是男友带女友去吃饭。
女友->发送信号的对象,信号内容:我饿了。
男友->接收信号的对象并且处理掉了这个信号,处理动作:带去吃饭。
在qt中,槽函数的所有者也是某个类的实例对象
信号与槽
在qt中需要使用QObject类中的connect函数进行二者的关联。类比牛郎织女通过鹊桥相会。
初使用
先建一个QpushButton按钮,取名closeBtn
在 MainWindow.cpp 里添加加connect函数实现
结果
点击关闭窗口按钮,窗口关闭
文章部分截图来源于“爱编程的大丙”up视频
具体详细请看:3.2 标准信号槽的使用_哔哩哔哩_bilibili