質問

Qtは通常、単一のスレッドでシグナルとスロットを使用するため、シグナルを呼び出すと、呼び出された同じスレッドのシグナルでスロットが呼び出されます。シグナルスロットメカニズムを使用してメッセージをqtスレッドに渡す方法はありますか(スロットは指定されたスレッドのコンテキストで後で呼び出されます)?

役に立ちましたか?

解決

信号とスロット公式のQtドキュメントの開始ページにあるスレッド全体。

他のヒント

これに対処する通常の方法は、シグナルハンドラーに他の関数をキューに入れて(boost :: bindなどのファンクターを使用)、ターゲットスレッドキューに後で実行させることだと思います。

少なくともQt4ではまったく問題ありません。両方のスレッドを指す変数がある場所に接続をセットアップするだけです。 (つまり、通常main()で)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top