2010-12-15 24 views
5

私はGUIプログラミングとマルチスレッドを初めてお使いです。私は自分の車から情報を受け取って意味のある方法でレンダリングするリアルタイムのアプリケーションを作成する過程にあります。私のアプリは、3つのスレッド、GUI(メインスレッド)、レンダリングスレッド、およびハードウェア通信スレッドとしてレイアウトされています。レンダリングとハードウェアスレッドは共用リングバッファである。レンダリングでは、新しいインターフェイスを1秒間に20回描画するようにタイマーを作成しました。私は、スレッドがメインスレッドに、新しいスクリーンが利用可能であることを通知したいと思います。シグナル/スロットの方法がこれに最も適していると思っていました。これは私の質問になる。レンダリングでメインスレッドのメインウィンドウオブジェクトにあるスロット、たとえばScreen_Avalableが呼び出されると、このスロット/メソッドはワーカースレッドまたはメインスレッドで処理されますか?Qtシグナル/スロットとスレッド

+0

GUIスレッド以外のスレッドから実際にGUIに何かを描画することは、おそらく良い考えではないことに注意してください。あなたのレンダリングスレッドは、おそらくキューや何かを使ってGUIスレッドに描画して渡すためのデータを準備するだけでよいはずです。 –

+0

QtでGuiスレッド以外のものを表示することはできません –

+0

私はpixmapに描画してから、pixmapをguiスレッドに渡して画面に描画します。 – Talguy

答えて

4

デフォルトでメインスレッドで処理されますが、詳細はthis guideを参照してください。

2

メインスレッドで処理されます。

関連する問題