# Trying to reproduce the bug reported on issue837234 import Tkinter import sys class MainWindow(Tkinter.Tk): def __init__(self): Tkinter.Tk.__init__(self) Tkinter.Button(self, text='Quit', command=self.do_quit).pack() Tkinter.Button(self, text='SysExit', command=self.do_quit).pack() Tkinter.Button(self, text='IdleQuit', command=self.do_idlequit).pack() Tkinter.Button(self, text='IdleSysExit', command=self.do_idlesysexit).pack() self.bind('', self.do_key) def do_key(self, event=None): if event.char == 'q': self.do_quit() elif event.char == 'x': self.do_sysexit() def do_quit(self, event=None): self.after(1000, self.quit) def do_sysexit(self, event=None): self.after(1000, sys.exit) def do_idlequit(self, event=None): self.after_idle(self.quit) def do_idlesysexit(self, event=None): self.after_idle(sys.exit) root = MainWindow() root.mainloop()