在 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 代码工作正常。