Strange terminal behavior after quitting Tkinter application
MRAB
python at mrabarnett.plus.com
Tue Nov 3 19:51:00 EST 2020
On 2020-11-03 20:11, David Burnette wrote:
> On Wednesday, April 18, 2007 at 12:33:24 AM UTC-7, Chris wrote:
>> Hi,
>> I'm puzzled by some strange behavior when my Python/Tkinter
>> application quits (on linux): the terminal from which I started Python
>> is messed up.
>> If start up python, then import the code below, then start the program
>> with Application(), then click the Quit button, my terminal never
>> prints anything again (such as commands I type).
>> <code>
>> import Tkinter
>> import sys
>> class Application(Tkinter.Tk):
>> def __init__(self,**config):
>> Tkinter.Tk.__init__(self,**config)
>>
>> Tkinter.Button(self,text="Quit",command=self.quit_application).pack()
>> def quit_application(self):
>> sys.exit()
>> </code>
>>
>> Can anyone tell me what I'm doing wrong?
>> Thanks for your help.
>> Chris
>
> I notice this same behavior with other tk applications like "tkdiff".
> So what is the correct cleanup for a proper exit from a plain Tk application?
>
Updated to Python 3, it should be more like this:
import tkinter
import sys
class Application(tkinter.Tk):
def __init__(self,**config):
tkinter.Tk.__init__(self, **config)
tkinter.Button(self, text="Quit",
command=self.quit_application).pack()
def quit_application(self):
self.destroy()
Application().mainloop()
More information about the Python-list
mailing list