connect函数的最后一个参数type可以指定传递信号的方式,它是Qt::ConnectionType枚举类型常量,常用连接类型如下表所列。
Constant | Value | Description |
Qt::AutoConnection | 0 | 当信号发送者和接收者处于同一线程内时,这个类型等同于DirectConnection,反之等同于QueuedConnection,这个类型也是connect函数的默认连接类型 |
Qt::DirectConnection | 1 | 信号一旦发射,与之关联的槽函数立即执行 |
Qt::QueuedConnection | 2 | 当信号产生,信号会暂时被缓冲到一个消息队列中,等待接收者的事件循环处理去队列中获取消息,然后执行和信号关联的槽函数,这种方式既可以在同一线程内传递消息也可以跨线程操作 |
Qt::BlockingQueuedConnection | 4 | 这种类型类似于QueuedConnection,但是它只能应用于跨线程操作即发送者和接收者处于不同的线程中的情况,并且信号发送者线程会阻塞等待接收者的槽函数执行结束 |
Qt::AutoCompatConnection | 3 | 当兼容Qt3程序是的默认连接类型 |