如何在 Python 中使用 Tkinter 创建自动更新的 GUI?!
GUI窗口有许多控件,例如标签、按钮、文本框等。有时我们可能希望在查看窗口时自动更新控件的内容,例如标签。
我们可以用来after()在一段时间后运行一个函数。例如,1000毫秒表示1秒。我们在一定时间后连续调用的函数将更新文本或您想要发生的任何更新。
我们的窗户上有一个标签。我们希望标签的文本在1秒后自动更新。为了使示例简单,假设我们希望标签显示0到1000之间的某个数字。我们希望这个数字每1秒改变一次。
我们可以通过定义一个函数来实现这一点,该函数将标签的文本更改为0到1000之间的某个随机数。我们可以在1秒的间隔后使用after().
示例
from Tkinter import * from random import randint root = Tk() lab = Label(root) lab.pack() def update(): lab['text'] = randint(0,1000) root.after(1000, update) #1000毫秒后再次运行 #第一次运行 update() root.mainloop()
这将在1000毫秒后自动将标签文本更改为某个新数字。您可以根据需要更改时间间隔。可以修改更新函数以执行所需的更新。
root.after(1000,更新)
这行代码执行调用函数的主要功能update()。
第一个参数in指定您希望函数被调用的时间间隔(以毫秒为单位)。root.after()
第二个参数指定要调用的函数的名称。