【问题标题】:AttributeError: Window1 instance has no attribute 'master'AttributeError:Window1 实例没有属性“主”
【发布时间】:2013-12-19 17:57:13
【问题描述】:

我是 OOP 的新手,所以请多多包涵……我已经用谷歌搜索了这个非常基本的错误的解决方案,但无法弄清楚。 我只想点击“确定”按钮来销毁窗口。

from Tkinter import *

class Window1:
    def __init__(self,master):
        self.button1=Button(master,text="OK",command=self.button_click)
        self.button1.pack()


    def button_click(self):
        self.master.destroy()


def main():
    root=Tk()
    app=Window1(root)
    root.mainloop()


if __name__ == '__main__':
    main()

【问题讨论】:

    标签: python oop tkinter


    【解决方案1】:

    修复其实很简单:你只需要将master 设为Window1 的属性。

    添加这一行:

    self.master=master
    

    Window1.__init__的顶部:

    def __init__(self,master):
        ####################
        self.master=master
        ####################
        self.button1=Button(master,text="OK",command=self.button_click)
        self.button1.pack()
    

    现在,master 将成为Window1 的属性,您可以通过self 通过self.master 访问它

    【讨论】:

    • 感谢您的帮助,您不知道我花了多长时间寻找解决方案。
    猜你喜欢
    • 2016-06-29
    • 2012-10-07
    • 2013-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-22
    • 2014-04-05
    • 2014-03-14
    相关资源
    最近更新 更多