Найти тему
SoftSAR

Разработка современных графических интерфейсов с kivy

Kivy это библиотека Python с открытым исходным кодом для графического пользовательского интерфейса, которая позволяет разрабатывать многоплатформенные приложения для Windows, macOS, Android, iOS, Linux и Raspberry-Pi. Помимо обычного ввода с помощью мыши и клавиатуры, он также поддерживает мультитач события. Приложения, созданные с использованием Kivy, будут одинаковыми на всех платформах.

Перед установкой Kivy необходимо предварительно обновить pip. Установка: Создайте и активируйте виртуальную среду с именем kivy_venv в вашем текущем каталоге. Устанавливаем библиотеку через командную строку (документация по установке):

python -m pip install "kivy[base]" kivy_examples

Основы Kivy

Виджеты это отображаемые на экране элементы управления, к которым обращается пользователь. Примерами виджетов являются кнопки, выпадающие списки и вкладки. Библиотека Kivy предоставляет много встроенных виджетов.

-2

Для каждого приложения Kivy необходимо создать подкласс App и переопределить метод build().  В этот класс входият код UI (код разметки и дизайна формы), или вызываете другие функции, которые определяют код UI. В данном примере создается объект Label со следующими параметрами text, size_hint и pos_hint. Последние два аргумента не обязательны.

Запуск программы осуществляется путем инициализации класса MainApp и вызова метода run().

Разметка в Kivy.

Для размещения компоновки виджетов на форме в Kivy используют Layouts. Доступны следующие типы Layouts: BoxLayout, FloatLayout, GridLayout, RelativeLayout, ScatterLayout и др.

Импортируем модуль BoxLayout из kivy.uix.boxlayout. С помощью цикла формируем и размещаем кнопки. Методом padding устанавливаем отступы между Layouts и его дочерними элементами.

-3

Событие для кнопки

В данном коде вызывается button.bind(), а событие on_press ссылается на MainApp.on_press_button().

-4

Поля ввода

Виджет TextInput предоставляет поле для редактирования простого текста. Поддерживаются Unicode, Multiline, курсор навигации, выбор и функции буфера обмена. Чтобы создать однострочный TextInput, установите для свойства TextInput.multiline значение False.

-5

Напишем скрипт в который мы вводим имя и она с нами здоровалась. Считывание текста с текстового поля осуществляется методом text, запись текста в текстовую метку Label осуществляется методом text.

-6

Используем Kivy для создании макета калькулятора. Импортируем необходимые модули. Создаем список с элементами (названиями кнопок). Создаем внешний вертикальный BoxLayout. Создаем текстовое поле для отображения действий и результатов вычислений. Циклом идем по списку, создаем горизонтальные BoxLayout и размещаем в них кнопки. Вкладываем горизонтальные BoxLayout в вертикальный BoxLayout

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

-7

Kivy является современной кроссплатформенной библиотекой для создания GUI, что можно использовать при создании пользовательских интерфейсов для мобильных приложений и персональных ПК. Преимуществом библиотеки является поддержка событий мультитач, большое количество виджетов.

В данном статье мы рассмотрели основы работы Kivy. Теперь вы можете создавать приложения с современным и красивым дизайном.

С уважением, Карян Армен.
Занимаюсь профессиональной разработкой прикладных программ на Python.
email SoftSAR@yandex.ru
Telegram @SoftSar_am