定期更新Tkinter中的标签

2024-04-18 20:56:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经阅读了许多关于这个问题的解决方案,但是我仍然不能让这个简单的程序工作。我知道这可能很简单,但我找不到我遗漏了什么。

我有一个简单的程序:

from Tkinter import *
import subprocess

def run():
    process=subprocess.Popen(some_script, shell=True, stdout=subprocess.PIPE)
    while True:
        nextline = process.stdout.readline()
        if not nextline:
            break
        output.set(nextline)
        root.update_idletasks()

root = Tk()
output = StringVar()

label1 = Label(root, textvariable=output)
label1.pack()

button1 = Button(root, text="Go", command=run)
button1.pack()

root.mainloop()

所以当我点击按钮时,会执行一些脚本。我想用脚本的输出定期更新标签,但没有。我做错什么了?


Tags: runimport程序脚本trueoutputstdoutroot