Qtアプリケーションには、メインスレッドとワーカースレッドがあります。ワーカースレッドはQThread
、を介してイベントをサブクラス化して処理しますcustomEvent
。これは、メインスレッドがワーカースレッドによって処理されるイベントを送信するための正しい方法ですか?
QThread* myWorkerThread = // ...
QApplication::instance()->postEvent (myWorkerThread, new MyWorkRequestEvent(/* ... */);
ドキュメントを正しく読むと、イベントはイベント受信者を所有するオブジェクトのスレッドで処理されると記載されています。メインスレッドによって作成されたのでQThread
、それはメインスレッドによって所有されます-それで、このイベントはメインスレッドによって処理されますか(これは直感に反し、私の場合は間違っています)?