Отображение Python для пользователя Tkinter Application Status
У меня есть приложение Python/Tkinter, которое в 2-3 момента времени блокирует основной экран на 30 секунд или несколько минут, так как в нем есть много всего, что нужно сделать.
Я имею в виду, что в те моменты времени было бы более отточенное приложение, если бы вместо блокировки основного экрана на время выполнения задачи я мог отделить вычислительную часть приложения от основного потока и отображать некоторую обратную связь с пользователем относительно того, что происходит... будь то окно модального состояния или анимация вращающегося кота.
К сожалению, я немного растерялся относительно того, как это сделать.
1 ответ
Вы могли бы посмотреть вверх concurrent.futures
, multiprocessing
, threading
и используя tkinter .after()
метод. Я недавно разместил свой вопрос и ответ по использованию concurrent.futures
, Я успешно реализовал модель, описанную в книге Марка Саммерфилда, и я рекомендую вам дать concurrent.futures
попытка Вам все еще нужны 1 или 2 команды от threading
а также multiprocessing
, Мой код работал хорошо, и у tkinter нет проблем с задержкой. Примечание. Этот рабочий код является более подробным, чем пример кода в моем ответе, который я использовал, чтобы показать, что класс Python может использоваться для размещения кодов concurrent.future вместо отдельного файла Python. Надеюсь, вы найдете что-то подходящее для ваших нужд кодирования.
Бывают, чтобы увидеть недавний ответ, который относится к ответу на ваш вопрос..after()
с threading
пример. У него есть другие ссылки.