Python:如何使用循环更新 tkinter 标签?
我们通常使用 Tkinter Label 控件在应用程序中显示文本和图像。假设我们想要创建一个应用程序,以便在应用程序执行时,Label 控件会不断更新值。为了实现这一点,我们将使用一个 **StringVar** 对象,并使用 **while** 循环更新其值,该循环将在特定条件满足时迭代。
Tkinter 中的 **StringVar** 对象可以帮助管理控件(如 **Entry** 控件或 **Label** 控件)的值。您可以将 **StringVar** 对象分配给控件的 **textvariable** 属性。例如,
data = ['Car', 'Bus', 'Truck', 'Bike', 'Airplane'] var = StringVar(win) my_spinbox = Spinbox(win, values=data, textvariable=var)
在这里,我们创建了一个字符串列表,然后是 **StringVar** 对象 **"var"**。接下来,我们将 **var** 分配给 **Spinbox** 控件的 **textvariable** 属性。要获取 Spinbox 的当前值,可以使用 **var.get()**。
示例
以下示例演示了如何使用 **while** 循环更新 tkinter 标签:
# Import the required libraries
from tkinter import *
# Create an instance of tkinter frame
win = Tk()
# Set the size of the tkinter window
win.geometry("700x300")
# Initialize a StringVar
var = StringVar()
def label_update():
num = 0
while 1:
# Update the StringVar
num = num + 1
var.set("Count up to: " + str(num))
win.after(200, win.update())
if num==100:
break
# Create a label widget
label = Label(win, textvariable=var, font='Arial 17 bold')
label.pack(pady=20)
button = Button(win, text="Count", command=label_update)
button.pack()
win.mainloop()
输出
执行后,程序将显示以下窗口:

单击“计数”按钮后,它将显示一个 Label 控件并开始更新其值,直到它变成 100。

广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP