1

我是 Python 和 Gtk 的新手,我正在尝试制作一个小应用程序,它将执行 Bash 命令并逐行显示输出“实时”,就像通过突触安装某些应用程序时它显示在类似终端的小部件安装细节中一样过程。

我是否为此使用 Vte.Terminal 或 subprocess.Popen?以及如何显示输出?我在看 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()

简而言之,我想执行 shell 命令并显示它在常规终端中显示的确切输出(行、颜色、粗体文本......)。不知何故 Vte.Terminal 对我来说很有意义,因为 TextView 将显示常规文本。

谢谢,

4

1 回答 1

1

使用文本视图。以下是一些解释如何的链接:

PyGTK 常见问题解答:如何在不冻结 GUI 的情况下将外部进程的输出发送到 gtk.TextView? 博客文章:在 gtk.TextView 上重定向标准输出

于 2012-07-05T10:36:38.673 回答