PythonのGUI(空き地)シェルプロセスの出力を表示します
-
20-09-2019 - |
質問
私はsubprocess.Popenオブジェクトを使用して、いくつかのサブプロセスを実行するPythonアプリケーションを書いています。 私は空き地のGUIを持っており、リアルタイムでのGUIでこれらのコマンド(subprocess.Popenで実行されている)の出力を表示したい。
誰もがこれを行う方法を提案することはできますか?何空き地オブジェクト私が使用する必要があるとどのように出力をリダイレクトするのですか?
解決 3
読んで、私が望んでいた結果を得ていない多くの後、私は働く別の方法を見つけます。
これは、このように書きます。
#!/usr/bine/env python
import subprocess
import gtk
### Of course, you should have the gui built and know which widgets to use for this.
viewer = self.builder.get_widget('txtview')
proc = subprocess.Popen('ls -al /home'.split(), stdout=subprocess.PIPE, stderr = subprocess.STDOUT)
while True:
line = proc.stdout.readline()
viewer.get_buffer().instert_at_cursor(line)
if not line:
break
他のヒント
ここにもこれを行うための別の方法を表示するリンクがある。
私は多分他の誰かが、これらのヒントを使用することができ、これは非常に洞察力に富んであることが判明します。
ます。http:// pygabriel.wordpress.com/2009/07/27/redirecting-the-stdout-on-a-gtk-textview/する
空き地はGTKでGUIを構築するための唯一のプログラムであるあなたは、の空き地オブジェクトのために頼むときに多分あなたはのGTKウィジェットのこのケースtextbufferとのTextViewのchould中を求める必要があります溶液または多分ツリービューとliststoreこと。
subprocess.Popen
は、ファイルのようなオブジェクトを受け入れることができstdout
とstderr
引数があります。あなたはtextbufferに書き込みアダプタを作成したり、liststoreに項目を追加することができます。
所属していません StackOverflow