python - 如何访问对象中的对象方法?

标签 python class tkinter

我正在尝试压缩我的代码,所以我想创建对象,而不是每次需要时都创建标签。

但是,我不知道如何使用 .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/

相关文章:

python - 另存为文件对话框 - 如何不允许覆盖

python - 如何将某个组的值改变不同的量

python - 枕头保存到 BytesIO 或 StringIO KeyError : "JPG"

python - scrapy 爬虫抓取实例数据异常

python - 使用ajax在基于django类的 View 中找不到url

java - "+"Java 类运算符

C++ 没有类类型

c++ - 在 C++ 中,typename 应该在 const 之前还是之后?

Python - 如何让条目小部件添加而不是连接?

python - Tkinter Canvas 不显示