Python Forum
[Tkinter] calling a new window from a tkinter window - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/Forum-Python-Coding)
+--- Forum: GUI (https://python-forum.io/Forum-GUI)
+--- Thread: [Tkinter] calling a new window from a tkinter window (/Thread-Tkinter-calling-a-new-window-from-a-tkinter-window)



[Tkinter] calling a new window from a tkinter window - neuroprogrammer - Jul-28-2020

I'm having trouble navigating nested windows calls with tkinter. The first window builds and executes well, with a window.mainloop() statement at at the end to set up the window polling.

But now, when I use a button to call a function, which in turn, opens up a new window, I end up with a parallel window that does not wait for the return values returned by the second function. In this case the second window is just a simple dropdown menu, with user selected choice, which should be returned to the main function. Everything works, except the code that calls the new window doesn't wait, and then execute subsequent code. I started exploring wait_window(), but don't understand how that might help.


RE: [Tkinter] calling a new window from a tkinter window - Yoriz - Jul-28-2020

I don't understand what you are asking, can you show a minimal example of runnable code.


RE: [Tkinter] calling a new window from a tkinter window - deanhystad - Jul-28-2020

In a script you can write some text, prompt for input, and perform some action based on the input. In a GUI you cannot use this pattern because the GUI cannot control what the user does next. If you draw a window with a menu the user might close your window and not make a menu selection. This must be allowed. In a GUI application you would draw the window with the menu, and specify a function to call when the menu selection is made.

So if your logic is:
Make menu
Draw menu
Wait for selection
Process selection

You should change it to:
Make menu, bind menu to call Process selection
Draw Menu