一尘不染

更改标签上的文字

python

我在使用键绑定来更改标签或任何参数的值时遇到麻烦。这是我的代码:

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中扮演什么角色?


阅读 238

收藏
2020-12-20

共1个答案

一尘不染

self.labelText = 'change the value'

上面的句子使labelText更改了值,但没有更改depositLabel的文本。

要更改depositLabel的文本,请使用以下设置之一:

self.depositLabel['text'] = 'change the value'

要么

self.depositLabel.config(text='change the value')
2020-12-20