AttributeError:Window1实例没有属性'master'

时间:2013-12-19 17:57:14

标签: python oop tkinter

我是OOP的新手,所以请耐心等待......我已经用Google搜索了这个非常基本的错误,但无法弄明白。 我只想点击“确定”按钮来销毁窗口。

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()

1 个答案:

答案 0 :(得分: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

访问{{1}}