web-dev-qa-db-fra.com

Fonction pour fermer la fenêtre dans 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()

Comment puis-je faire ma fonction quit pour fermer la fenêtre?

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

Ajoutez des parenthèses après destroy pour appeler la méthode.

Lorsque vous utilisez command=self.root.destroy, Vous passez la méthode à Tkinter.Buttonsans les parenthèses car vous voulez que Tkinter.Button Stocke la méthode pour les appels futurs, pas pour appeler immédiatement après la création du bouton.

Mais lorsque vous définissez la méthode quit, vous devez appeler self.root.destroy() dans le corps de la méthode car d'ici là, la méthode a été appelée.

50
unutbu
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
LightningDragon105
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)

Cela a fonctionné pour moi de détruire mon cadre Tkinter en cliquant sur le bouton de sortie.

1
saqib1707