在Tkinter中关闭窗口的功能

时间:2011-11-04 12:28:54

标签: python tkinter

import tkinter


class App():
   def __init__(self):
       self.root = Tkinter.Tk()
       button = Tkinter.Button(self.root, text = 'root quit', command=self.quit)
       button.pack()
       self.root.mainloop()

   def quit(self):
       self.root.destroy 

app = App()

如何让我的quit功能关闭窗口?

4 个答案:

答案 0 :(得分:46)

def quit(self):
    self.root.destroy()

destroy之后添加括号以调用方法。

当您使用command=self.root.destroy时,将方法传递给Tkinter.Button 而不用括号,因为您希望Tkinter.Button存储方法以供将来调用,而不是调用创建按钮后立即显示。

但是当你定义quit方法时,你需要在方法的主体中调用self.root.destroy(),因为那时方法已被调用。

答案 1 :(得分:2)

class App():
    def __init__(self):
        self.root = Tkinter.Tk()
        button = Tkinter.Button(self.root, text = 'root quit', command=self.quit)
        button.pack()
        self.root.mainloop()

    def quit(self):
        self.root.destroy()

app = App()

答案 2 :(得分:1)

def exit(self):
    self.frame.destroy()
exit_btn=Button(self.frame,text='Exit',command=self.exit,activebackground='grey',activeforeground='#AB78F1',bg='#58F0AB',highlightcolor='red',padx='10px',pady='3px')
exit_btn.place(relx=0.45,rely=0.35)

这对我来说,在点击退出按钮时会破坏我的Tkinter框架。

答案 3 :(得分:0)

class App():
    def __init__(self):
        self.root = Tkinter.Tk()
        button = Tkinter.Button(self.root, text = 'root quit', command=self.quit)
        button.pack()
        self.root.mainloop()

    def quit(self):
        self.root.destroy()

app = App()