シェルでユーザーコマンドを入力するために、プログラムで editline ライブラリを使用しています。しかし、シェルに加えて、プログラムにはGUIインターフェイスがあるため、Enterキーが押されるまでブロックされるため、別のスレッドでeditlineのreadline()関数を実行する必要があります。ブロックせずに readline() 関数を使用する方法があるので、別のスレッドの使用を避けることができますか?
1 に答える
0
GUI スレッドを別のスレッドで実行し、コンソール入力をメイン スレッドのままにしませんか。コマンドラインから読み取った後、イベントを GUI スレッドにプッシュできます。私の意見では、それははるかに簡単です。
これはもちろん、GUI でメインスレッドとは異なるスレッドで実行できる場合に機能します。
後で編集:テキスト コントロール/ウィンドウを作成し、そこから入力を取得できませんでしたか? Enter を押すと、入力がクリアされます - コンソールでメッセージを入力するのと同じように? GUIにすべてを含める方がはるかに簡単だと思います
于 2010-06-14T12:12:18.217 に答える