我有一个基于python的tkinter脚本,它使用子进程模块执行一些命令。 我需要在GUI本身上显示标准输出。 由于我是新来的tk(一周大胆:)),我需要你的建议我该怎么办? 我有两个问题:
答案 0 :(得分:2)
您可能希望使用Tkinter.Text
小部件,描述为here。
描述很长,但你需要了解的主要是这个小部件可以用作缓冲区,因为文本应该插入其中。
因此,对于subprocess
输出中的每个新行,您必须在所需的位置插入文本。例如:
t = Tkinter.Text(root)
while some_condition:
s = p.readline() # get subprocess output
t.insert(END, s)
编辑让a look here逐行获取子流程输出。
您可能还希望查看Tkinter.Scrollbar
和Text.see()
来调整显示。