Qt支持6種連接模式,其中3種最重要:
Qt::DirectConnection(直接連接)
當信號發出後,會立即調用相應的槽函數。emit語句後的代碼將在所有插槽函數執行完畢後執行。(信號和槽函數的關系類似於函數調用,是同步執行的。)
Qt::QueuedConnection(排隊模式)
信號發出後,在信號隊列中排隊,直到接收對象所屬線程的事件循環獲得控制權,調用相應的slot函數,才能獲得信號。emit語句後的代碼將在信號發送後立即執行,而不需要等待slot函數執行。(此時信號被插入信號隊列,信號與槽函數的關系類似於消息通信,異步執行。)
Qt::自動連接(自動模式)
Qt默認的連接模式,如果信號的發送和接收對象屬於同壹個線程,工作模式與直連模式相同;否則,工作模式與排隊模式相同。
見文章:/QQ 419036154/article/details/6112503。