0

この問題にアプローチする方法がわかりません。理想的には Python で Tkinter を使用して GUI を書きたいのですが、最初は Qt から始めて、問題がすべての GUI フレームワークまたは私の限られた理解のいずれかに及ぶことがわかりました。

この場合のデータは名前付きパイプから来ており、パイプを通って来るものは何でもテキストボックスに表示したいと思います。1 つのスレッドでパイプをリッスンし、別のスレッドで GUI を作成しようとしましたが、どちらの場合も、1 つのスレッドが常にハングするように見えるか、GUI が作成されません。

助言がありますか?

4

3 に答える 3

0

このようなことをしたとき、パイプでリッスンする別のスレッドを使用しました。スレッドには、表示するデータを送信できるように、GUI へのポインター/ハンドルがありました。

GUIの更新/イベントループでそれを行うことができると思いますが、パイプでノンブロッキング読み取りを行っていることを確認する必要があります. 通過したデータに対して多くの処理を行う必要があったため、別のスレッドで実行しました。

ああ、表示を行うときは、一度に重要な「チャンク」で行うようにしてください。更新コマンドをテキスト ボックスに送信しているメッセージ キュー (少なくとも Windows では) を使い果たすのは非常に簡単です。

于 2009-04-08T21:25:20.367 に答える
0

過去に、GUI が外部のもの (例: イーサネット ソケット) からデータを読み取っていたとき、外部のもののサービスを処理する別のスレッドと、時間指定されたコールバック (通常は 0.5 秒などに設定) がありました。外部データを表示する GUI ウィジェットを更新します。

于 2009-04-08T21:27:51.843 に答える