如何在Python中使用Tkinter创建自动更新的GUI?

如何在Python中使用Tkinter创建自动更新的GUI?

GUI窗口包括许多控件,如标签、按钮、文本框等。有时我们希望在查看窗口时,控件的内容(如标签)可以自动更新。

我们可以使用 after() 在一定时间后运行一个函数。例如,1000毫秒表示1秒。我们可以不断调用某个函数,以在一定时间后更新文本或进行其他更新。

在我们的窗口上有一个标签。我们希望标签的文本每隔1秒自动更新。为了使示例简单,假设我们希望标签显示0到1000之间的某个数字,并且希望每隔1秒更改此数字。

我们可以定义一个函数,该函数将标签的文本更改为0到1000之间的某个随机数字。我们可以使用after()在间隔为1秒的情况下不断调用此函数。

示例

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()

这将自动将标签的文本更改为某个新数字,时间间隔可以根据需要进行更改。可以修改更新函数以执行所需的更新操作。

root.after(1000,update)

这行代码的主要功能是调用函数update()。

root.after()中的第一个参数指定了在多少毫秒后重新调用函数。

第二个参数指定了要调用的函数的名称。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程