Ситуация такова : есть главное окна с виджетами и на одну из кнопок забиндина функция, которая запускается в отдельном потоке. Так вот, в этой функции я хочу запускать в определенный момент еще одно окно поверх главного (делаю это с помощью Toplevel). Все так и работает, но не могу понять как останавливать выполнение функции (дальнейшего кода) во время того как это Toplevel окно еще не закрыто (в нем пользователь кое какие данные вбивает для дальнейших вычислений)
А в tkinter можно вызывать gui из не main thread? В Qt, например, нельзя. И задача, которую ты пытаешься решить, в Qt решается с помощью диалоговых окон, которые запускают свой собственный event loop. Когда пользователь ввел данные, он обычно закрывает окно, а данные, которые он вводит сохраняются в объекте этого диалога, которые потом можно получить, когда диалог будет закрыт. Цикл обработки сообщений завершится, но объект с данными то останется.