Python:如何使用循环更新tkinter标签?

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

输出

在执行时,程序将显示以下窗口 –

Python:如何使用循环更新tkinter标签?

点击”Count”按钮后,它将显示一个标签小部件,并开始更新其值,直到达到100。

Python:如何使用循环更新tkinter标签?

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程