我在使用键绑定来更改标签或任何参数的值时遇到麻烦。这是我的代码:
from tkinter import* class MyGUI: def __init__(self): self.__mainWindow = Tk() #self.fram1 = Frame(self.__mainWindow) self.labelText = 'Enter amount to deposit' self.depositLabel = Label(self.__mainWindow, text = self.labelText) self.depositEntry = Entry(self.__mainWindow, width = 10) self.depositEntry.bind('<Return>', self.depositCallBack) self.depositLabel.pack() self.depositEntry.pack() mainloop() def depositCallBack(self,event): self.labelText = 'change the value' print(self.labelText) myGUI = MyGUI()
运行此命令时,我单击输入框并按Enter,希望标签将值更改为“更改值”。但是,尽管它确实打印了该文本,但标签保持不变。
通过查看关于类似问题的其他问题,我发现了如何在课堂外使用其中的一些功能,但是在课堂上进行操作时遇到了一些困难。
另外,顺便提一下,“主人”在tkinter中扮演什么角色?
self.labelText = 'change the value'
上面的句子使labelText更改了值,但没有更改depositLabel的文本。
要更改depositLabel的文本,请使用以下设置之一:
self.depositLabel['text'] = 'change the value'
要么
self.depositLabel.config(text='change the value')