Comment fermer une fenêtre Tkinter avec un bouton

  1. Méthode de la classe root.destory() pour fermer la fenêtre Tkinter
  2. destroy() Méthode sans classe pour fermer la fenêtre Tkinter
  3. Associer directement la fonction root.destroy à l’attribut command du bouton
  4. root.quit pour fermer la fenêtre de Tkinter

Nous pouvons utiliser une fonction ou une commande attachée à un bouton dans l’interface graphique de Tkinter pour fermer la fenêtre de Tkinter lorsque l’utilisateur clique dessus.

Méthode de la classe root.destory() pour fermer la fenêtre Tkinter

try:
    import Tkinter as tk
except:
    import tkinter as tk
    

class Test():
   def __init__(self):
       self.root = tk.Tk()
       self.root.geometry('100x50')
       button = tk.Button(self.root, 
                          text = 'Click and Quit', 
                          command=self.quit)
       button.pack()
       self.root.mainloop()

   def quit(self):
       self.root.destroy()
        
app = Test()

destroy() détruit ou ferme la fenêtre.

Tkinter ferme une fenêtre avec un bouton

destroy() Méthode sans classe pour fermer la fenêtre Tkinter

try:
    import Tkinter as tk
except:
    import tkinter as tk

root = tk.Tk()
root.geometry("100x50")

def close_window():
    root.destroy()

button = tk.Button(text = "Click and Quit", 
                   command = close_window)
button.pack()

root.mainloop()

Associer directement la fonction root.destroy à l’attribut command du bouton

Nous pourrions directement lier la fonction root.destroy à l’attribut button command sans définir la fonction supplémentaire close_window.

try:
    import Tkinter as tk
except:
    import tkinter as tk

root = tk.Tk()
root.geometry("100x50")

button = tk.Button(text = "Click and Quit", command = root.destroy)
button.pack()

root.mainloop()

root.quit pour fermer la fenêtre de Tkinter

root.quit quitte non seulement la fenêtre de Tkinter mais plus précisément tout l’interpréteur Tcl.

Il peut être utilisé si votre application Tkinter n’est pas lancée depuis Python au repos. Il n’est pas recommandé d’utiliser root.quit si votre application Tkinter est appelée à partir de idle car quit ne tuera pas seulement votre application Tkinter mais aussi le idle car idle est aussi une application Tkinter.

try:
    import Tkinter as tk
except:
    import tkinter as tk

root = tk.Tk()
root.geometry("100x50")

button = tk.Button(text = "Click and Quit", command = root.quit)
button.pack()

root.mainloop()

Article connexe - Tkinter Button

  • Comment créer une nouvelle fenêtre en cliquant sur un bouton dans Tkinter