1. 程式人生 > >QT多執行緒中,物件訊號與槽連線不上的解決辦法

QT多執行緒中,物件訊號與槽連線不上的解決辦法


1、在接收者建立執行緒中,把接收者移動到主執行緒中:

pReceiverObj->moveToThread(QApplication::instance()->thread());


2、這樣傳送訊號的時候,就會在主執行緒事件佇列處理中來處理了。

connect的最後一個引數改成Qt::DirectConnection,使用直連線的方式來連線訊號與槽。


3、啟動QThread自己的事件佇列處理(exec())。

目前個人用的第二種方法,方便簡單

如果解決了 幫點贊!