[Tutor] about tkinter
Michael Lange
klappnase at freenet.de
Tue Sep 5 11:22:36 CEST 2006
On Tue, 5 Sep 2006 01:46:02 -0700
"linda.s" <samrobertsmith at gmail.com> wrote:
> >
> If I close the 'main' window, 'sub' window will be closed too. How can
> I close just one window?
> Linda
Hi Linda,
you can use a "hidden" root window, like this:
root = Tk()
root.withdraw()# hide the root window
top1 = Toplevel(root)
top2 = Toplevel(root)
Don't forget to define a method that exits the application when the last Toplevel
is being closed, because if you close both Toplevels the root window is still there and no
way to close it from the gui.
Here is a primitive to show how this might work:
def close_top1():
global top1
top1.destroy()
top1 = None
if top2 is None:
root.quit()
top1.protocol("WM_DELETE_WINDOW", close_top1)
( and the same for top2 of course)
This makes the close_top1() function be executed when the "X" in the window's upper right
corner is clicked.
I hope this helps.
Michael
More information about the Tutor
mailing list