将 Tkinter 输入框值打印到标签
Print Tkinter Entry box value to a label
我想简单地将 Tkinter 输入框中的值打印到标签中。
myLabel = ttk.Label(tab1, text="Enter your selection: ")
myLabel.grid(column=0, row=3)
labelEntry = tk.Entry(tab1)
labelEntry.grid(column=1, row=3, padx=10, pady=10)
不幸的是,我无法将值打印到标签上。有没有可能让它“活”起来?因此,当您在“条目”文本框中键入内容时,标签也会填充吗?
另外,如何让标签大写?
有没有简单的方法将其变成一个函数而不是使用 lambda?
谢谢!
在 Entry
和 Label
小部件上使用相同的 tkinter StringVar
:
var1 = tk.StringVar()
labelEntry = tk.Entry(tab1, textvariable=var1)
labelEntry.grid(column=1, row=3, padx=10, pady=10)
outputLabel = ttk.Label(tab1, textvariable=var1)
outputLabel.grid(column=0, row=4, columnspan=2, padx=10, pady=10)
已更新:如果您希望标签的内容大写,那么您可以在 tkinter StringVar
上绑定跟踪回调,并使用变量的大写内容更新标签的文本:
var1 = tk.StringVar()
labelEntry = tk.Entry(tab1, textvariable=var1)
labelEntry.grid(column=1, row=3, padx=10, pady=10)
outputLabel = ttk.Label(tab1)
outputLabel.grid(column=0, row=4, columnspan=2, padx=10, pady=10)
var1.trace_add('write', lambda *args:outputLabel.config(text=var1.get().upper()))
我想简单地将 Tkinter 输入框中的值打印到标签中。
myLabel = ttk.Label(tab1, text="Enter your selection: ")
myLabel.grid(column=0, row=3)
labelEntry = tk.Entry(tab1)
labelEntry.grid(column=1, row=3, padx=10, pady=10)
不幸的是,我无法将值打印到标签上。有没有可能让它“活”起来?因此,当您在“条目”文本框中键入内容时,标签也会填充吗?
另外,如何让标签大写?
有没有简单的方法将其变成一个函数而不是使用 lambda?
谢谢!
在 Entry
和 Label
小部件上使用相同的 tkinter StringVar
:
var1 = tk.StringVar()
labelEntry = tk.Entry(tab1, textvariable=var1)
labelEntry.grid(column=1, row=3, padx=10, pady=10)
outputLabel = ttk.Label(tab1, textvariable=var1)
outputLabel.grid(column=0, row=4, columnspan=2, padx=10, pady=10)
已更新:如果您希望标签的内容大写,那么您可以在 tkinter StringVar
上绑定跟踪回调,并使用变量的大写内容更新标签的文本:
var1 = tk.StringVar()
labelEntry = tk.Entry(tab1, textvariable=var1)
labelEntry.grid(column=1, row=3, padx=10, pady=10)
outputLabel = ttk.Label(tab1)
outputLabel.grid(column=0, row=4, columnspan=2, padx=10, pady=10)
var1.trace_add('write', lambda *args:outputLabel.config(text=var1.get().upper()))