Zum Schluss noch ein paar Worte zum Thema Protokolle. Es gibt bei Tkinter die Möglichkeit, neben event handlers auch protocol handlers einzurichten. Protokolle beziehen sich auf die Interaktion zwischen der Anwendung und dem Windowmanager. An dieser Stelle wird nur ein einziges Beispiel gegeben. Das am häufigsten eingesetzte Protokoll heisst WM_DELETE_WINDOW, das definiert, was passieren soll wenn der User ein Fenster schliesst.
Benutzen Sie für die Installation des Protokoll-Handlers die Methode protocol des Widgets, das ein root- oder Toplevel-Window sein muss. Durch den Aufruf
wird Tkinter das widget nicht mehr automatisch schliessen, sondern durch den Handler zum Beispiel eine Nachricht ausgeben. Um den Handler dann das Window schliessen zu lassen, muss die destroy-Methode des Fensters aufgerufen werden.
Beispiel:
from Tkinter import *
import tkMessageBox
def callback():
if tkMessageBox.askokcancel('Quit', 'Wirklich aufhören?'):
root.destroy()
root=Tk()
root.protocol('WM_DELETE_WINDOW', callback)
root.mainloop()