📱 Документация Kivy

Субпакет для работы с Kivy
Полная документация модулей для работы с фреймворком Kivy в пакете Hrenpack. Включает кастомные виджеты, миксины и утилиты для создания кроссплатформенных приложений.
🧩 widgets/
Субпакет кастомных виджетов Kivy
📄 __init__.py
Базовые кастомные виджеты - BoxLayout, FloatLayout, Label, Button, IconButton, LoggingLabel, Image
📦 box.py
Виджеты-контейнеры - BoxLabel, _WrapperLayout
⌨️ input.py
Виджеты ввода - ComboBox, ToggleButton, CheckBox, TextInput, ToggleButtonGroup
📏 dynamic.py
Адаптивные виджеты - DynamicLabel с автоматическим размером шрифта
🔠 font_percent.py
Виджеты с процентным шрифтом - FontPercentLabel, FontPercentButton
🔄 double.py
Составные виджеты - TextCheckBox, DoubleWidget для переключения
🖥️ multi_screen_mode.py
Абстрактные классы для многозкранности - MultiScreenModeBoxLayout, MultiScreenModeFloatLayout, MultiScreenModeScreen
📜 views.py
Виджеты отображения - ScrollView с улучшенной функциональностью
Основные возможности
Упрощенное создание виджетов, адаптивный дизайн, композитные компоненты, расширенные элементы ввода
📄 __init__.py
Базовые классы и утилиты для работы с Kivy
App
Расширенный класс приложения Kivy с настройками окна
Атрибуты: width, height, title, pos_x, pos_y, resizable, fullscreen, borderless, min_width, min_height, max_width, max_height, alpha, icon
pos_hint(x: float = None, y: float = None, center_x: float = None, center_y: float = None)
Создает словарь позиционирования для виджетов
Особенность: Автоматически преобразует значения больше 1 в проценты
rgba(red: int, green: int, blue: int, alpha: int = 100)
Создает кортеж RGBA цвета с нормализованными значениями
Диапазоны: RGB: 0-255, Alpha: 0-100
remove_parents(*widgets)
Удаляет родительские контейнеры у виджетов
⚙️ commands.py
Команды и обработчики для виджетов Kivy
toggle_down(instance, *args)
Устанавливает состояние виджета в 'down'
Применение: Обработчики событий кнопок и переключателей
🖼️ image.py
Классы для работы с изображениями в Kivy
Image
Расширенный виджет изображения с дополнительными методами
Метод: path() - возвращает путь к исходному файлу
SVGImage
Виджет для отображения SVG-изображений через конвертацию в PNG
Зависимости: svglib, reportlab
🧩 mixins.py
Миксины для расширения функциональности Kivy-виджетов
WindowMixin
Миксин для настройки параметров окна приложения
Важно: Должен стоять перед классом App при наследовании
WidgetMixin
Базовый миксин для виджетов с дополнительной функциональностью
Функции: bind, применение KVS-стилей, отключение/включение виджетов
LayoutMixin
Миксин для контейнеров с упрощенным добавлением виджетов
Методы: add_widgets(), add(), all_widgets()
ImageBackgroundMixin
Миксин для добавления фонового изображения виджетам
Параметр: bg_image - путь к изображению или объект CoreImage
🖥️ screenmanager.py
Расширенный менеджер экранов для Kivy-приложений
ScreenManager
Расширенный менеджер экранов с дополнительными методами
Методы: setCurrentScreen(), getCurrentScreen(), add_screen()
Screen
Расширенный класс экрана с упрощенным добавлением виджетов
Метод: add() - массовое добавление виджетов

🎯 Основные возможности Kivy-пакета

Упрощенная настройка окон: Централизованная конфигурация параметров окна приложения

Расширенные виджеты: Кастомные классы изображений с поддержкой SVG

Модульные миксины: Переиспользуемые компоненты для виджетов и контейнеров

Улучшенный менеджер экранов: Дополнительные методы для управления экранами

Утилиты позиционирования: Вспомогательные функции для работы с расположением виджетов

Кроссплатформенность: Учет особенностей разных операционных систем

Интеграция со стилями: Поддержка KVS-файлов для оформления виджетов