如何在 Tkinter 中的 Entry 小部件中使用 StringVar 对象?
tkinterpythongui-programming
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="Your User ID is: " +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()
输出
它将产生以下输出 −