closing a widget

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Marcus Schneider

    closing a widget

    Normally I close my windows/widgets with destroy and it works fine.
    Now I have a window (let's call it 1) from where I open an additional
    window (let's call it 2). I close it.
    Each window has its own main loop.
    Now I want to open another window outside the mainloop of window 1. So
    I quit that mainloop, go to a new window, destroy that, enter the
    mainloop of window 1 again and finally exit with destroy.

    All this works in princial, but here's the funny behaviour:

    1) If I don't enter 2 quit works, if I do enter 2, I have to press the
    "quit button" 2 times. Actually I have to press it an additional time
    for every time I opened the window 2. What is happening? How can I
    stop that???

    2) For whatever reason I also have to click two times on the "destroy"
    button at the end of the example. The destroy command is only executed
    the second time I press the button ???!!!

    All the widgest/windows are stand alone object and use their own
    variables..
  • Marcus Schneider

    #2
    Re: closing a widget

    in the meantime I found a work around, but "there is only one
    mainloop" confuses ME ;)

    When I generate a GUI with page, the function to open the window looks
    like:

    def vp_start_gui():
    global w
    global root
    root = Tix.Tk()
    root.title('xyz ')
    w = Klassenname (root)
    init()
    root.mainloop()

    If I use for different windows different variables (like root1, root2
    etc) and use commands like "root1.mainloop " and "root2.mainloop ",
    shouldn't I get one mainloop per window?

    Regarding your questions:
    I open the new windows rather independently in the same way as
    described above.
    I close windows based on a button pressed.
    With quitting a windows I refer to the quit method.

    Hope that clearifies it to a certain degree;)


    "Michael Peuser" <[email protected] > wrote in message news:<bhpre9$pg [email protected]>...[color=blue]
    > "Marcus Schneider" <mschneider.pad @t-online.de> schrieb im Newsbeitrag
    > news:3f443b52.0 308171454.c00a2 [email protected] le.com...[color=green]
    > > Normally I close my windows/widgets with destroy and it works fine.
    > > Now I have a window (let's call it 1) from where I open an additional
    > > window (let's call it 2).[/color]
    >
    > Do you mean you make (1) the basis of a Toplevel (2) ?[color=green]
    > > I close it.[/color]
    >
    > (2) ? By a button created on that Toplevel ?
    >[color=green]
    > > Each window has its own main loop.[/color]
    >
    > There can only be one mainloop. No idea what happens, when you call mainloop
    > during in an event-routine. Never do it!
    >[color=green]
    > > Now I want to open another window outside the mainloop of window 1.[/color]
    >
    > What do you mean by this?
    >[color=green]
    > > So
    > > I quit that mainloop.[/color]
    >
    > How can you do that? What at all do you mean by "mainloop"? Tkinter.mainloo p
    > I presume?
    >[color=green]
    > > go to[/color]
    >
    > GOTO?
    >[color=green]
    > > a new window, destroy that, enter the
    > > mainloop of window 1 again and finally exit with destroy.
    > >
    > > All this works in princial....[/color]
    >
    > This is a surprises to me...
    > My be I really do not understand what you are doing.....
    >
    > Kindly
    > Michael P.
    >
    > [....][/color]

    Comment

    Working...