私は、使いやすさを支援するためのユーザー インターフェイスを持つように拡張している CLI アプリケーションを持っており、Qt-4.8.3 を使用しています。
アプリケーションは IRC サーバーに接続し、各接続はデータを受信する独自のスレッドに存在します。次に、別のスレッドで実行されているパーサーがデータを処理し、それに応じて反応します (チャネルの作成、ユーザーの追加など)。
私はドキュメントを調べてきましたが、自分のインスタンスで UI を更新するための最も便利な方法を判断できません (または実際に見ることはできません)。QThread から継承するクラスを作成して実行する必要があります。 QFuture と QtConcurrent、カスタム構造体を作成し、それを UI スレッドに渡す、customEvent() を使用する、または全体的により良い方法はありますか? コードの読みやすさとパフォーマンスは、最重要要件です。
現時点で私が持っているコードは完全に実行されますが、当然、パーサー スレッド内で新しい QWidget を作成すると、それが UI スレッドではないという通知ですぐに壊れます。
QApplicationでexecを実行するために使用し、サーバー、チャネル、ユーザーなどの作成関数も保持するクラスは1つだけです(現時点では、QObjectを継承し、シグナル+スロット機能を提供します)。
必要に応じてコードを投稿することもできますが、コードがたくさんあり、実際に関連するかどうかはわかりません。