← Volver

Cómo cancelar el cierre de una ventana en Tk (tkinter)

import tkinter as tk
from tkinter import messagebox


def delete_window():
# Procedimiento invocado cuando el usuario
# intenta cerrar la ventana.
close = messagebox.askyesno(
message="¿Está seguro de que quiere cerrar la aplicación?",
title="Confirmar cierre"
)
if close:
# Cerrar la ventana.
root.destroy()


root = tk.Tk()
# Reemplazar el procedimiento por defecto de Tk por
# nuestra propia función para cerrar la ventana.
root.protocol("WM_DELETE_WINDOW", delete_window)
root.mainloop()

Si simplemente se quiere deshabilitar el cierre de la ventana (sin pedir confirmación ni ninguna otra operación similar), mejor usar:

# Deshabilitar siempre el cierre de la ventana.
root.protocol("WM_DELETE_WINDOW", lambda: None)


tkinter ventana aplicaciones-de-escritorio


👨‍💻 ¡Ya lanzamos el curso oficial de Recursos Python en Udemy! Un curso moderno para aprender Python desde cero con programación orientada a objetos, SQL y tkinter en 2024.

🐍 También te puede interesar:


💡 Ofrecemos servicios profesionales de desarrollo y capacitación en Python a personas y empresas. Consultanos por tu proyecto.