1

私はPythonとGtkが初めてで、Bashコマンドを実行し、出力を「リアルタイム」で1行ずつ表示する小さなアプリを作成しようとしています。これは、シナプスを介してアプリをインストールするときと同じように、端末のようなウィジェットのインストールの詳細に表示されます処理する。

これまたは subprocess.Popen に Vte.Terminal を使用しますか? 出力を表示するにはどうすればよいですか?Gtk.TextView() を見ていましたが、使い方がわかりません。

p = subprocess.Popen('locate zend', shell=True, stdout=subprocess.PIPE,stderr=subprocess.STDOUT)
for line in p.stdout.readlines():
    print line,  
retval = p.wait()

一言で言えば、シェルコマンドを実行して、通常の端末で表示されるのと同じ出力を表示したいと思います(行、色、太字のテキスト....)。TextView は通常のテキストを表示するため、Vte.Terminal は私には理にかなっています。

ありがとう、

4

1 に答える 1

1

TextView を使用します。方法を説明するいくつかのリンクを次に示します。

PyGTK FAQ: GUI をフリーズせずに、外部プロセスの出力を gtk.TextView に送信するにはどうすればよいですか? ブログ投稿: gtk.TextView で stdout をリダイレクトする

于 2012-07-05T10:36:38.673 に答える