1
有没有办法使Tkinter标签自动更新以反映输入字段文本中的更改?例如,如果条目具有文本“1”,则标签应该说“T1”,但是如果用户将条目中的文本更改为“x”,则标签应该说“Tx”,而不必按下按钮。基于条目值链接Tkinter标签
有没有办法使Tkinter标签自动更新以反映输入字段文本中的更改?例如,如果条目具有文本“1”,则标签应该说“T1”,但是如果用户将条目中的文本更改为“x”,则标签应该说“Tx”,而不必按下按钮。基于条目值链接Tkinter标签
是的,这是可能的。我能想到的最简单的方法是使用StringVar
的.trace
方法,如果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()
无需按一个按钮?我不这么认为。 –
@AlexThornton:不正确。这在Tkinter很容易做到。 –
@BryanOakley该死的,我在想'StringVar',但我不知道'trace'。 –