在 class 中设置 ttk.Label 文本变量
Set ttk.Label textvariable inside class
我四处搜索,似乎找不到这个问题的明显答案。我正在尝试继承 ttk.Label 以添加一些功能,即当从外部方法调用时它可以动态更新标签显示。这有效:
root = Tk()
label = ttk.Label(root)
label.pack()
var = StringVar()
label['textvariable'] = var # or label.config(textvariable=var)
var.set('String to show on screen')
root.mainloop()
然而,当我尝试这个时,它什么也没显示:
class NewLabel(ttk.Label):
def __init__(self, parent=None):
ttk.Label.__init__(self, parent)
self.pack()
self.var = StringVar()
self.config(textvariable=self.var)
self.var.set('String to show on screen')
root = Tk()
label = NewLabel(root)
root.mainloop()
如有任何帮助,我们将不胜感激。
我没有评论的名誉,但对我来说你的 class 代码工作正常。
我四处搜索,似乎找不到这个问题的明显答案。我正在尝试继承 ttk.Label 以添加一些功能,即当从外部方法调用时它可以动态更新标签显示。这有效:
root = Tk()
label = ttk.Label(root)
label.pack()
var = StringVar()
label['textvariable'] = var # or label.config(textvariable=var)
var.set('String to show on screen')
root.mainloop()
然而,当我尝试这个时,它什么也没显示:
class NewLabel(ttk.Label):
def __init__(self, parent=None):
ttk.Label.__init__(self, parent)
self.pack()
self.var = StringVar()
self.config(textvariable=self.var)
self.var.set('String to show on screen')
root = Tk()
label = NewLabel(root)
root.mainloop()
如有任何帮助,我们将不胜感激。
我没有评论的名誉,但对我来说你的 class 代码工作正常。