QT 主要是信号和槽机制,具体的就先不说了,看源码就知道,讲讲原理性东西!
connect总共有五个参数,一般只会用到四个,第五个参数的取值可以是:
- Qt::AutoConnection
- Qt::DirectionConnection
- Qt::QueuedConnection
- Qt::BlockingQueuedConnection
- Qt::UniqueConnection
- Qt::AutoCompartConnect
- 第一个参数属于自动连接(默认方式 包括自动和队列)
- 第二个参数直连
- 第三个队列,若中途线程停止,跟着停止,直至线程重新启动再启动信号信号线程结束执行槽
- 第四个队列,线程同步技术,线程被锁直到SLOT结束
- 第五个参数,不能重复连接相同的信号和槽
- 第六个参数,目的兼容QT其他版本
- 连接方式说明(this,this->signal,this,this->Slot)(this,this->signal,a,a->Slot)(a,a->signal,a,a->Slot)(a,a->signal,this,this->Slot)第二个第四个属于不同的线程,默认的连接方式会根据是否在同一线程中选择是直连还是队列方式(AutoConnection/QueuedConnection)。