On Wed, 16 Nov 2005 10:55:24 +0100 (MET)
[EMAIL PROTECTED] wrote:

Hi Karsten,

> I thought the mainloop() function is something like
> 
> def mainloop():
>   e= get_event()
>   if e:
>     for w in widgets: w.handle(e)
> 
> but apparently it is not.
> 
> It's not bad that the Tkinter windows don't destroy upon an exception,
> since it gives me the option to display an error window, but I feel unsafe
> unless I understand why it does not.
> 

I am not enough of an expert to give you a "complete" answer for that, so anyone
please correct me if I am wrong.
As far as I understand, the mainloop() command just starts a tk shell and 
Tkinter gives
you an interface to communicate with this tk shell.
In fact Tkinter "translates" any widget command into a tk command and sends it 
to the
tk shell, which itself sends it to the associated Tk window (or the related 
widget).
The tk shell will run as long as

a - Python decides to close it for you (e.g. after the main (Tk()) window has 
been destroyed)
b - you explicitely close it calling the widget's quit() method
c - a fatal tk error occurs, so the tk shell decides to quit itself

Now most of the errors that occur happen of course on the python level and are 
caught
by the python interpreter (that shows you the traceback) and there is no reason
for python to inform the tk shell that it should quit.

I hope this makes sense

Michael

_______________________________________________
Tutor maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/tutor

Reply via email to