Tkinter: Catching Window Deletion

March 28, 1998 | Fredrik Lundh

To handle deletion of top level windows, use the protocol method to attach a deletion handler to the window. The deletion handler can do anything it wants, including not destroying the window (possibly after displaying an “are you sure you want to quit” message box).

from Tkinter import *

root = Tk()

def _delete_window():
    print "delete_window"
    try:
        root.destroy()
    except:
        pass

def _destroy(event):
    print "destroy"

root.protocol("WM_DELETE_WINDOW", _delete_window)
root.bind("<Destroy>", _destroy)

button = Button(root, text="Destroy", command=root.destroy)
button.pack()

mainloop()
 

A Django site. rendered by a django application. hosted by webfaction.