Python tkinter textvariable未更新
我有一个经常更改的标签,所以我将其放在函数中。Python tkinter textvariable未更新,python,tkinter,Python,Tkinter,我有一个经常更改的标签,所以我将其放在函数中。 但是当我调用该函数时,标签不会显示。如果我将textVariable设置为text,则它将按预期工作。 我做错了什么 text = "Now visible to others as {}".format(SERVER_NAME) self.updateSearchLabel(text) def updateSearchLabel(self, textVar): text = StringVar() text.se
但是当我调用该函数时,标签不会显示。如果我将textVariable设置为text,则它将按预期工作。
我做错了什么
text = "Now visible to others as {}".format(SERVER_NAME)
self.updateSearchLabel(text)
def updateSearchLabel(self, textVar):
text = StringVar()
text.set(textVar)
self.lblSearch = Label(self.gpBt, textvariable=text)
self.lblSearch.grid(row=0, column=0, sticky=W, padx=(10,0), pady=(5,0))
与其每次调用
updateSearchLabel
时都创建一个新标签,不如将标签创建一次,并保留对StringVar
的引用:
def createSearchLabel(self):
self.lblSearchText = StringVar()
self.lblSearch = Label(self.gpBt, textvariable=self.lblSearchText)
self.lblSearch.grid(row=0, column=0, sticky=W, padx=(10,0), pady=(5,0))
然后从updateSearchLabel
中调用set
:
def updateSearchLabel(self, textVar):
self.lblSearchText.set(textVar)
与其每次调用updateSearchLabel
时都创建一个新标签,不如将标签创建一次,并保留对StringVar
的引用:
def createSearchLabel(self):
self.lblSearchText = StringVar()
self.lblSearch = Label(self.gpBt, textvariable=self.lblSearchText)
self.lblSearch.grid(row=0, column=0, sticky=W, padx=(10,0), pady=(5,0))
然后从updateSearchLabel
中调用set
:
def updateSearchLabel(self, textVar):
self.lblSearchText.set(textVar)