HOWTO · Tkinter
Cómo cerrar una ventana de Tkinter con un botón
Este tutorial introduce cómo cerrar una ventana de Tkinter con un botón que tiene una función o comando adjunto.
En esta página
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.destroy() 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.
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()