For 循环使计时器显示在 tkinter 窗口中,但它不会打开窗口



我正在制作一个带有 for 循环的计时器并将其显示在 tkinter 窗口中,但是当我执行脚本时,没有弹出窗口。很可能有一些我不知道的错误,这可能很简单,我没有看到

我试图在代码中移动 for 循环以解决问题,但这无济于事。

import tkinter
import time
root = tkinter.Tk()
label_1 = tkinter.Label(root, text="Start")
label_1.pack()
for i in range(1, 3600):
    label_1["text"] = i
    time.sleep(1)
root.mainloop()

窗口将在 3600 秒后显示。不要等待 3600 秒才能看到它,只需将更改更改为 5 秒即可。问题是您在主线程中执行label_1["test"] = i,与应用程序相同。您需要在另一个线程中执行此类任务,否则此类循环(由于time.sleep)将阻止应用程序

import tkinter
import time
root = tkinter.Tk()
label_1 = tkinter.Label(root, text="Start")
label_1.pack()
import threading
def task():
    for i in range(1, 10):
        label_1["text"] = i
        time.sleep(1)
thread = threading.Thread(target = task)
thread.start()
root.mainloop()

看看这篇关于多线程的文章

让我知道这是否适合您

最新更新