在类中设置ttk.Label textvariable

时间:2017-03-21 21:49:32

标签: python-3.x tkinter ttk

我已经四处寻找,似乎无法找到这个问题的明显答案。我正在尝试子类化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()

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我没有评论的声誉,但对我来说,你的课程代码工作正常。