私はQtでプロジェクトに取り組んでいます。プログラムの起動時にすべての GUI コンテンツを追加する親クラスがあります。ただし、ユーザー入力を取得した後、他のさまざまなクラスでいくつかの数学演算を実行して、誤ったユーザー入力 (特定の種類のエラーの各クラス) をチェックしています。これらのクラスのオブジェクトは、私が作成した他のスレッド ( obj -> movetothread
( thread )) に移動されました。したがって、マルチスレッドによってすべてのエラーを同時にチェックできます。問題は、間違ったユーザー入力があるたびに、対応するエラーに関する情報を含むMessageBoxをスローしたいということです。エラーチェックは非GUIスレッドで行われるため現在、私のプログラムをクラッシュさせています。したがって、私の唯一のオプションは、そのエラーを含むの参照を保持することです。最終的にすべてのエラーチェックから戻ったときに、 GUI スレッドQString
で Messageboxe を次々とスローします。このプロセスは非常に面倒です。この問題を解決するための回避策があれば教えてください。
PS: 簡単に言うと、マルチスレッド アプリケーションで非 GUI スレッドに GUI コンテンツを追加する方法を教えてください。