【问题标题】:Python tkinter textvariable not updatingPython tkinter 文本变量未更新
【发布时间】:2014-05-09 01:01:27
【问题描述】:

我有一个经常变化的标签,所以我把它放在一个函数中。
但是当我调用该函数时,标签不显示。如果我将 textvarible 设置为 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))

【问题讨论】:

    标签: python tkinter


    【解决方案1】:

    不是每次调用updateSearchLabel 时都创建一个新标签,而是创建一次Label,并保留对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)
    

    【讨论】:

      猜你喜欢
      • 2019-04-03
      • 1970-01-01
      • 2016-07-07
      • 1970-01-01
      • 2020-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多