我正在尝试压缩我的代码,所以我想创建对象,而不是每次需要时都创建标签。
但是,我不知道如何使用 .config
更改对象标签的属性。我尝试过使用 objectvariable.config(...)
,但这不起作用。使用如下方法也不会:
class title_label():
def __init__(self):
self = tkinter.Label(root)
self.pack(side='left')
def update(self, text):
self.config(text=text)
错误消息是:objectvariable 对象没有属性配置
。
如何在包含标签的对象上使用 .config
?
最佳答案
应该是
class title_label():
def __init__(self, root):
self.label = tkinter.Label(root) # <<< 'label' field here
self.label.pack(side='left')
def update(self, text):
self.label.config(text=text)
self
保存对类本身的引用。 label
是您的类应该持有而不是成为的东西。另一种方法是从 Label
类派生,但对于值得将标签存储在字段中的内容来说,这对您来说应该足够了。
关于python - 如何访问对象中的对象方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71000884/