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

Reply via email to