Cómo cerrar una ventana de Tkinter con un botón

  1. root.destory() Método de clase para cerrar la ventana de Tkinter
  2. destroy() Método no-clase para cerrar la ventana de Tkinter
  3. Asociar la función root.destroy al atributo command del botón directamente
  4. root.quit para cerrar la ventana de Tkinter

Podemos utilizar una función o comando adjunto a un botón de la interfaz gráfica de Tkinter para cerrar la ventana de Tkinter cuando el usuario hace clic en ella.

root.destory() Método de clase para cerrar la ventana de 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() destruye o cierra la ventana.

Tkinter cierra una ventana con un botón

destroy() Método no-clase para cerrar la ventana de 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()

Asociar la función root.destroy al atributo command del botón directamente

Podríamos vincular directamente la función root.destroy al atributo del botón command sin definir más la función extra 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 para cerrar la ventana de Tkinter

root.quit deja no sólo la ventana de Tkinter sino más precisamente todo el intérprete de Tcl.

Puede ser usado si su aplicación Tkinter no se inicia desde Python en reposo. No es recomendable utilizar root.quit si su aplicación Tkinter es llamada desde el idle porque quit no sólo matará su aplicación Tkinter sino también el idle porque el idle es también una aplicación 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()

Artículo relacionado - Tkinter Button

  • Cómo cambiar el color del botón Tkinter
  • Cómo crear una nueva ventana haciendo clic en un botón de Tkinter
  • comments powered by Disqus