有没有办法让Tkinter标签自动更新以反映Entry字段文本的变化?例如,如果条目具有文本“1”,则标签应该说“T1”,但如果用户将条目中的文本更改为“x”,则标签应该说“Tx”,而不必按下按钮。
答案 0 :(得分:2)
是的,这是可能的。我能想到的最简单的方法是使用.trace
的{{1}}方法,如果StringVar
的值发生变化,则会调用函数。这是一个例子:
StringVar()
有关def change_label(*args):
label.config(text='') # clear label
label.config(text='T' + var.get()) # set new label text
root = Tk()
var = StringVar() # make the StringVar()
label = Label(root)
entry = Entry(root, textvariable=var) # set the textvariable to var
var.trace('w', change_label) # trace var to monitor for changes, calling function on change
label.pack()
entry.pack()
root.mainloop()
的更多信息:http://effbot.org/tkinterbook/variable.htm