Current Path : /usr/local/share/examples/python2.5/tkinter/matt/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/local/share/examples/python2.5/tkinter/matt/killing-window-w-wm.py |
from Tkinter import * # This file shows how to trap the killing of a window # when the user uses window manager menus (typ. upper left hand corner # menu in the decoration border). ### ******* this isn't really called -- read the comments def my_delete_callback(): print "whoops -- tried to delete me!" class Test(Frame): def deathHandler(self, event): print self, "is now getting nuked. performing some save here...." def createWidgets(self): # a hello button self.hi_there = Button(self, text='Hello') self.hi_there.pack(side=LEFT) def __init__(self, master=None): Frame.__init__(self, master) Pack.config(self) self.createWidgets() ### ### PREVENT WM kills from happening ### # the docs would have you do this: # self.master.protocol("WM_DELETE_WINDOW", my_delete_callback) # unfortunately, some window managers will not send this request to a window. # the "protocol" function seems incapable of trapping these "aggressive" window kills. # this line of code catches everything, tho. The window is deleted, but you have a chance # of cleaning up first. self.bind_all("<Destroy>", self.deathHandler) test = Test() test.mainloop()