Индикатор выполнения Tkinter

Indikator Vypolnenia Tkinter



Вы можете обновить клиент о статусе длительного процесса с помощью виджета индикатора выполнения. Цель виджета — дать пользователю уверенность в том, что что-то происходит. Он имеет два разных режима работы. В детерминированном режиме виджет отображает индикацию, которая перемещается в заданном направлении. Виджет перемещается в неопределенное состояние, чтобы у клиента создалось впечатление, что что-то происходит. Сигнал колеблется между краями виджета в этом стиле. В этом руководстве будет рассмотрено использование определенных и неопределенных индикаторов выполнения в Python.

Начнем с настройки библиотеки Tkinter для Python. После успешного запуска терминала попробуйте выполнить следующий запрос для настройки пакета Tkinter. Перед использованием этой инструкции убедитесь, что Python уже установлен.

$ sudo apt установить python3-tk







Пример 1

Давайте начнем с нашего первого примера Python, чтобы использовать модуль Tkinter для создания определенного индикатора выполнения в своем графическом интерфейсе. Таким образом, мы создали новый файл Python с именем «new.py» и добавили следующий код. Мы начали этот код с импорта всех дочерних объектов из библиотеки Tkinter Python в первой строке. После этого мы импортировали объект класса «ttk» из модуля Tkinter во второй строке кода.



Конструктор класса Tk() был вызван и сохранил свой объект в переменной «t». Функция «title» была достигнута с помощью объектной переменной «t» для создания заголовка для графического интерфейса. Размер окна GUI Tkinter был установлен на «300×200» с помощью функции геометрии(). Индикатор выполнения будет генерироваться определяемой пользователем функцией «Pbar()». Мы рассмотрим эту функцию в последней части этой статьи.



Мы создали переменную «p» на уровне 8 й строка этого кода Python, которая использовала функцию Progressbar() через объект класса «ttk» для создания индикатора выполнения на экране графического интерфейса. Объект «t» был передан ему, при этом его ориентация была установлена ​​​​на Горизонтальную, его длина была установлена ​​​​на 400, а его режим был детерминированным, т. Е. Он будет двигаться только в определенном направлении. Заполнение оси «y» было установлено на 30 с помощью функции «pack()» для этого индикатора выполнения.





После этого мы создавали новую кнопку «b» с помощью функции Button() и передавали ей объект «t», некоторый текст и команду, которая будет выполняться после нажатия на кнопку, т. е. вызываемую функцию функция «Пбар». Функция Pbar() будет увеличивать значение индикатора выполнения «p» на десять и возвращаться к переменной «b». Отступ по оси «y» для кнопки был установлен на «10» с помощью функции pack(), а функция mainloop() предназначена для зацикливания всего выполнения.



После завершения кода Python мы сохранили его и выполнили на консоли с помощью запроса «python3», за которым следует имя файла «new.py»:

$ python3 новый.py

Он запустил графический интерфейс Tkinter для Python с заголовком «Progress Bar» на экране нашей консоли. На следующем изображении есть только индикатор выполнения без обработки. Сначала нужно нажать на кнопку.

После нажатия кнопки «Нажмите здесь!» Синий индикатор прогресса выглядит следующим образом:

После трех последовательных кликов мы получили следующий прогресс без движения:

Достигнув конца индикатора прогресса, мы не можем двигаться дальше, т.е. определить индикатор прогресса.

Пример 2

Давайте рассмотрим создание неопределенного индикатора выполнения, который может перемещаться вперед и назад в области выполнения с помощью модуля Tkinter GUI Python. Итак, мы начали этот код Python, импортировав модуль Tkinter как «tk» и объект ttk из класса «ttk». Объект tk был отброшен для получения результата конструктора «Tk()» и сохранен в переменной «t».



Переменная «t» использовалась с функцией title() для добавления заголовка для графического интерфейса вместе с функцией геометрии() для определения размера отображаемого окна графического интерфейса. Функция grid() была вызвана с переменной «t», чтобы организовать графический интерфейс в табличном формате.

После этого мы использовали переменную «p» для создания индикатора выполнения с помощью функции Progressbar() объекта класса ttk с той же переменной «t», горизонтальной ориентацией, длиной 300 и неопределенным режимом. Индикатор выполнения был организован в виде таблицы с помощью функции «grid()», которая использовала специальное дополнение для осей «x» и «y». Мы создали две кнопки, «s» и «e», для запуска движения индикатора выполнения, его остановки и перемещения вперед и назад.







Параметр sticky функции grid() для обеих кнопок определяет направление, то есть восток и запад. Команды «старт» и «стоп» установлены для обеих кнопок на 9-м й и 11 й линия. С выполнением функции mainloop() наша программа завершена и готова к использованию после ее сохранения.





Казнь произошла аналогичным образом.





$ python3 новый.py

При запуске GUI был представлен следующий экран:



После нажатия кнопки «Tap to Start» индикатор выполнения начал двигаться вперед.

Достигнув конца, он движется в обратном направлении, т. е. на запад.

После нажатия кнопки «Tap to Stop» индикатор выполнения снова устанавливается в исходное положение.

Вывод

В этой статье показано использование индикатора выполнения в графическом интерфейсе Tkinter. Мы просто использовали объекты класса Tkinter для вызова различных виджетов, чтобы сделать графический интерфейс Python более интерактивным. Мы обсудили использование определенных и неопределенных индикаторов выполнения в наших примерах. Мы надеемся, что вам понравится их реализовывать.