Вам придется использовать отдельные потоки или процессы.Tkinter использует один поток для обработки обновлений дисплея, и этот же поток используется для обратных вызовов событий.Если ваш обработчик событий блокируется, то никакой код Tkinter не будет выполняться до его завершения.
Если у вас есть поток Tkinter (тот, который вызывает Tk.mainloop
) и другой поток для остальной части вашего приложения, тогда обработчики событийзапуск в потоке Tkinter может просто передавать сообщения (возможно, с использованием Queue.Queue
) в обработчик событий вашего приложения.