首页 > 解决方案 > Tkinter 中快速变化的标签?

问题描述

我想在 Tkinter 中尽可能快地显示一些数字。我正在尝试执行的程序会发送许多号码,并且应该显示这些号码。

这是一个类似的环境,其中 tinter 必须非常快速地更改标签。

from tkinter import *
import time
window = Tk()
lbl13 = Label(window, text="-")
lbl13.grid(column=0, row=0)

x = 0
while 1:
   lbl13.config(text = str(x))
time.sleep(2)
x +=1

window.mainloop()

Tkinter 窗口甚至没有在我的电脑上打开。那是因为我的硬件太弱了吗?我可以改变什么,这个程序也运行在我的电脑上。谢谢你的每一个回答!

标签: pythontkinter

解决方案


无限的 while 循环将阻止程序到达您调用的行window.mainloop()。您应该在最后重复调用 window.update() 而不是 window.mainloop() :

from tkinter import *
import time
window = Tk()
lbl13 = Label(window, text="-")
lbl13.grid(column=0, row=0)

x = 0
while 1:
   lbl13.config(text = str(x))
   window.update()
   x +=1

推荐阅读