如何在 Tkinter 的 Entry 小部件中使用 StringVar 对象?

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

示例

以下示例演示了如何在 Entry 小部件中使用 StringVar 对象。

from tkinter import *

top = Tk()
top.geometry("700x300")
top.title("StringVar Object in Entry Widget")

var = StringVar(top)

def submit():
   Label2.config(text="您的用户 ID 是: " +var.get(), font=("Calibri,15,Bold"))

Label1 = Label(top, text='Your User ID:')
Label1.grid(column=0, row=0, padx=(20,20), pady=(20,20))

myEntry = Entry(top, textvariable=var)
myEntry.grid(column=1, row=0, padx=(20,20), pady=(20,20))

myButton = Button(top, text="Submit", command=submit)
myButton.grid(column=2, row=0)

Label2 = Label(top, font="Calibri,10")
Label2.grid(column=0, row=1, columnspan=3)

top.mainloop()
输出结果

它将产生以下输出 -