On Tue, 17 Oct 2006 10:02:35 +0200
Bencsik Roland <[EMAIL PROTECTED]> wrote:
> Hi Michael,
>
> Although your version works well, I am still not satisfied with the
> result, because the user does not know why the program is still running
> when she pressed the close button.
> So, currently I route the WM_DELETE_WINDOW to a warning dialog which
> asks the user to use the quit method what the program offer.
> Unfortunately this version also has a problem that in some cases the
> warning dialog erases the already popped up dialog.
>
> Best would be if somehow all the windows and dialogs could be closed and
> the program be terminated after the clean up tasks are done.
>
Hi Roland,
I don't know if this is possible at all, even sys.exit() does not seem to work.
Maybe instead of the additional warning dialog you could change the
WM_DELETE_WINDOW
callback while the dialog is up, like
def info(self):
self.owner.protocol('WM_DELETE_WINDOW', self.bell)
tkMessageBox.showinfo()
self.owner.protocol('WM_DELETE_WINDOW', self.quit)
However this might become complicated in a bigger app with lots of message
boxes.
Maybe a separate messagebox module would help.
Alternatively you could write your own replacement for tkMessageBox; if the
dialog is derived from Toplevel you should be able to close all windows from
the main window's "close" button.
Michael
_______________________________________________
Tkinter-discuss mailing list
[email protected]
http://mail.python.org/mailman/listinfo/tkinter-discuss