Читать книгу Разработка кроссплатформенных мобильных и настольных приложений на Python. Практическое пособие - Анатолий Постолит - Страница 35
Глава 2. Фреймоворк Kivy, язык KV и виджеты, как основа пользовательского интерфейса
2.5.6. Виджет ProgressBar – индикатор
ОглавлениеВиджет ProgressBar (индикатор) используется для отслеживания хода выполнения любой задачи. Покажем на простом примере, как можно использовать виджет ProgressBar в приложении. Для этого создадим файл с именем K_ProgressBar_1.py и напишем в нем следующий код (листинг 2.29).
Листинг 2.29. Пример использования виджета ProgressBar (модуль K_ProgressBar_1.py)
# модуль K_ProgressBar_1,py
from kivy. app import App
from kivy.uix.progressbar import ProgressBar
class MainApp (App):
…… def build (self):
…… …… Progress = ProgressBar (max=1000)
…… …… Progress.value = 650
…… …… return Progress
MainApp().run ()
В этом модуле мы создали объект-индикатор Progress на основе базового класса ProgressBar. Для индикатора задали следующие свойства:
– max=1000 – максимальное значение шкалы бегунка;
– value = 650 – текущее положение на шкале бегунка.
После запуска данного приложения получим следующий результат (рис.2.23).
Рис. 2.23. Результаты выполнения приложения из модуля ProgressBar _2.py
В данном примере объект ProgressBar был создан в коде на языке Python. А сейчас реализуем тот же пример с использованием языка KV. Для этого создадим файл с именем K_ProgressBar_2.py и напишем в нем следующий код (листинг 2.30).
Листинг 2.30. Пример использования виджета ProgressBar (модуль K_ProgressBar_2.py)
# модуль K_ProgressBar_2.py
from kivy. app import App
from kivy.lang import Builder
KV = «»»
ProgressBar:
…… max: 1000
…… value: 650
«»»
class MainApp (App):
…… def build (self):
…… … … return Builder. load_string (KV)
MainApp().run ()
В данном примере объект ProgressBar был создан в коде на языке KV, а результат работы приложения будет таким же, как представлено на предыдущем рисунке.
Индикатор ProgressBar имеет ряд свойств, которые позволяют задать и получить некоторые параметры:
– max – максимальное значение;
– value – текущее значение;