Читать книгу Разработка кроссплатформенных мобильных и настольных приложений на Python. Практическое пособие - Анатолий Постолит - Страница 32
Глава 2. Фреймоворк Kivy, язык KV и виджеты, как основа пользовательского интерфейса
2.5.3. Виджет CheckBox – флажок
ОглавлениеВиджет CheckBox (флажок) это элемент в виде мини-кнопки с двумя состояниями. Флажок в данном элементе можно либо поставить, либо снять. Покажем на простом примере, как можно использовать виджет CheckBox в приложении. Для этого создадим файл с именем K_CheckBox_1.py и напишем в нем следующий код (листинг 2.23).
Листинг 2.23. Пример использования виджета CheckBox (модуль K_CheckBox_1.py)
# модуль K_CheckBox_1.py
from kivy. app import App
from kivy.uix.checkbox import CheckBox
class MainApp (App):
…… def build (self):
…… …… checkbox = CheckBox ()
…… …… return checkbox
MainApp().run ()
В этом модуле мы создали объект-флажок checkbox на основе базового класса CheckBox. После запуска данного приложения получим следующий результат (рис.2.19).
Рис. 2.19. Результаты выполнения приложения из модуля K_CheckBox _1.py
В данном примере объект CheckBox был создан в коде на языке Python. Как видно из данного рисунка, при установке и снятии флажка виджет будет иметь разный вид. В данном примере мы не программировали действия, которые будут выполнены при изменении состояния флажка, этот вопрос будет освящен в разделе, касающемся обработки событий. А сейчас реализуем тот же пример с использованием языка KV. Для этого создадим файл с именем K_CheckBox_2.py и напишем в нем следующий код (листинг 2.24).
Листинг 2.24. Пример использования виджета CheckBox (модуль K_CheckBox _2.py)
# модуль K_CheckBox_2.py
from kivy. app import App
from kivy.lang import Builder
KV = «»»
CheckBox:
«»»
class MainApp (App):
…… def build (self):
…… … … return Builder. load_string (KV)
MainApp().run ()
В данном примере объект CheckBox был создан в коде на языке KV, а результат работы приложения будет таким же, как представлено на предыдущем рисунке.
Флажок CheckBox имеет ряд свойств, которые позволяют задать цвет и запустить реакцию на изменение состояния:
– color – цвет флажка (в формате r, g,b,a);
– active – состояние в виде логического значения (True – когда флажок поставлен, False – когда флажок снят).