0

現在、コンソール C++ プロジェクトを Qt に移植しています。移植に関していくつか質問がありました。現在、私のプロジェクトは次のように調整されています。QWidget から派生した 1 つの Form クラスがあり、QObject から派生した他のクラスを使用しています。

私が正しいかどうか教えてください。私のプロジェクトでは、この目的のために他のクラスがGUIフォームに書き込む必要があります。シグナルとスロットを使用しています。GUI フォームのアドレスは、GUI クラス内の静的変数から取得されます。

このアプローチは、マルチスレッド アプリケーションに特に適していますか?

4

2 に答える 2

2

GUI フォームは、他のスレッドのシグナルからデータを受信するスロットを実装する必要があります。データはパラメーターとしてシグナルの emit() 呼び出しに送信されます

シグナルはスレッド間で安全に送信できます-それがポイントです

于 2013-06-16T02:52:20.047 に答える
0

connect: 送信者または受信者は QObject から派生したクラスの静的変数ポインタです. もちろん正しい. マルチスレッドの場合、Qt::QueuedConnection パラメータの使用のみを考慮する必要があります。

于 2013-06-16T06:20:24.453 に答える