Qt Connect信号槽的类型
2017-02-25 01:06
267 查看
enum Qt::Connection Type有如下5个类型
Qt::AutoConnection (默认值)自动连接
当发送者和接收者在同一线程时默认是Qt::DirectConnection ,否则是Qt::QueuedConnection。
Qt::DirectConnection 直接连接
发送者和接收者在同一线程,信号一发送槽函数立即响应,slot函数执行在发送者send的线程
Qt::QueuedConnection 排队连接
当控制返回到接收线程的事件循环时slot被调用,slot函数执行在接收者的线程
Qt::BlockingQueuedConnection 阻塞排队连接
发送者的线程会被阻塞直到slot槽函数返回,如果发送者和接收者在同一个线程不能使用这种方法连接,否则应用程序将会“死锁”
Qt::UniqueConnection 独特连接
这是一个标志,它可以与任何一个以上的连接类型,使用按位 OR 组合。当设置了 Qt::UniqueConnection 时,QObject::connect 将失败,如果连接已存在 (如果相同的信号已经连接到同一插槽中,对象的相同)。
Qt::AutoConnection (默认值)自动连接
当发送者和接收者在同一线程时默认是Qt::DirectConnection ,否则是Qt::QueuedConnection。
Qt::DirectConnection 直接连接
发送者和接收者在同一线程,信号一发送槽函数立即响应,slot函数执行在发送者send的线程
Qt::QueuedConnection 排队连接
当控制返回到接收线程的事件循环时slot被调用,slot函数执行在接收者的线程
Qt::BlockingQueuedConnection 阻塞排队连接
发送者的线程会被阻塞直到slot槽函数返回,如果发送者和接收者在同一个线程不能使用这种方法连接,否则应用程序将会“死锁”
Qt::UniqueConnection 独特连接
这是一个标志,它可以与任何一个以上的连接类型,使用按位 OR 组合。当设置了 Qt::UniqueConnection 时,QObject::connect 将失败,如果连接已存在 (如果相同的信号已经连接到同一插槽中,对象的相同)。
相关文章推荐
- QT 信号槽connect中解决自定义数据类型或数组作为函数参数的问题——QT qRegisterMetaType 注册MetaType——关键:注册自定义数据类型或QMap等容器类
- 信号槽传递非Qt库类型参数时,出现QObject::connect: Cannot queue arguments of type 'QUuid'(Make sure 'string' is regi
- Qt中的信号和槽之connect----多线程调用全解析(同步/异步)
- QT中信号和槽不需要调用connect而自动链接
- QT设计师中关于信号槽的连接仅仅是connect的连接,不能省略槽的声明
- QT设计师中关于信号槽的连接仅仅是connect的连接,不能省略槽的声明
- QT 信号与槽connect
- 解读QT信号与槽机制里 QMetaObject::connectSlotsByName(QObject *o)的源码
- qt 信号槽(connect)失效,【多线程使用信号槽】
- QT 自定义信号与信号槽方法及解决自定义数据类型或数组作为函数参数的问题
- 解读QT信号与槽机制里 QMetaObject::connectSlotsByName(QObject *o)的源码 介绍 connectSlotsByName 是一个QMetaObject类里的
- 解读QT信号与槽机制里 QMetaObject::connectSlotsByName(QObject *o)的源码
- 解读QT信号与槽机制里 QMetaObject::connectSlotsByName(QObject *o)的源码
- QT 自定义信号与信号槽方法及解决自定义数据类型或数组作为函数参数的问题
- Qt 信号槽 connect
- 解读QT信号与槽机制里 QMetaObject::connectSlotsByName(QObject *o)的源码
- 解读QT信号与槽机制里 QMetaObject::connectSlotsByName(QObject *o)的源码
- 对QT 的信号连接类型的理解
- Qt connect parent widget 连接父控件的信号槽
- Qt信号槽机制的实现(面试的感悟,猜测每一个类保存的一个信号和槽的二维表,实际使用函数指针 元对象 还有类型安全的检查设定等等)