本文主要是介绍第二章节 Qt信号与槽的详细分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
一、什么是信号与槽
二、信号与槽的关联
1. 使用connect函数
2. 自动连接
三、定义自己的信号
四、定义自己的槽
五、发送信号
六、信号和槽的连接方式
1.直接连接方式 Qt::DirectConnection
2.队列连接: Qt::QueuedConnection
3.阻塞队列连接 Qt::BlockingQueuedConnection
4.自动连接方式 Qt::AutoConnection
5.Qt::UniqueConnection
七、信号与槽的对应关系
八、信号与槽的断开
九、信号与槽传递自定义类型的参数
一、什么是信号与槽
信号槽,是Qt的核心机制,用来实现对象之间的通信: 即,某个对象,想通知另一个对象去做某件事情时, 这个对象,就发送某个“信号”, 另一个对象收到这个信号后,就去做之前约定好的那个 特定的事情。
信号槽机制有:
1)信号的发送者
2)信号的接受者
3)发送者发送的这个信号(不需要程序员去定义函数体的空壳函数)
4)接收者去执行的某个函数(称为:槽)
我们要做:
1.信号槽需要在使用之前,做好关联(信号和槽之间的关联)
2.发送者在需要的时候,发送这个信号
问题:为什么不直接使用C/C++的回调函数,而去使用信号槽?
1)信号与槽,是松耦合的,信号发送者,不需要去了解接收者的具体信息(有哪些接口等) 回调函数,是紧密耦合,直接调用目标对象的特定函数。
2)信号槽
这篇关于第二章节 Qt信号与槽的详细分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!