Отображение 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 пример. У него есть другие ссылки.

Другие вопросы по тегам