Python Kivy за 7 минут: Создайте кроссплатформенное приложение

Python — мощный язык программирования, используемый для веб-разработки, машинного обучения и создания программ с графическим интерфейсом. Библиотека Kivy позволяет разрабатывать кроссплатформенные приложения. В отличие от более простых библиотек, Kivy подходит для масштабных проектов.

Установка Kivy

Для установки Kivy необходим Python версии 3.7 (рекомендуется) и менеджер пакетов pip. Установите Python 3.7 и выполните в терминале команду: pip install kivy. В качестве среды разработки подойдёт любая IDE (например, PyCharm).

Простое приложение

Импортируем основной класс Kivy и необходимый виджет:

from kivy.app import App
from kivy.uix.label import Label

Создадим класс, наследующий от App, и реализуем метод build():

class MyApp(App):
    def build(self):
        label = Label(text="Hello, Kivy!")
        return label

Запустим приложение, вызвав метод run():

if __name__ == '__main__':
    MyApp().run()

Это создаст приложение с текстовой надписью. Параметры окна (размер, цвет) настраиваются с помощью Window:

from kivy.core.window import Window
Window.clearcolor = (1, 0, 0, 1) # Красный цвет
Window.size = (400, 300)
Window.title = "My Kivy App"

Приложение с кнопкой

Для более сложных интерфейсов используем BoxLayout для группировки виджетов:

from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
import random

Создадим кнопку и добавим её в BoxLayout с текстовой надписью. Обработчик события on_press изменит цвет текста при нажатии:

class MyApp(App):
    def build(self):
        layout = BoxLayout(orientation='vertical')
        self.button = Button(text="Нажми меня!") # создаем кнопку внутри конструктора
        self.label = Label(text="Текст") # создаем label внутри конструктора
        self.button.bind(on_press=self.button_press)
        layout.add_widget(self.label)
        layout.add_widget(self.button)
        return layout

    def button_press(self, instance):
        self.label.color = (random.random(), random.random(), random.random(), 1)

Конвертер величин

Создадим приложение-конвертер с текстовыми полями для ввода и вывода, обработчиком событий для поля ввода и логикой конвертации. Необходимо предусмотреть обработку ошибок (например, нечислового ввода).

Kivy позволяет создавать функциональные и привлекательные приложения на Python. Базовые принципы работы с виджетами и обработчиками событий позволяют создавать полноценные проекты.

Что будем искать? Например,программа