Киви (фреймворк)
![]() | |
![]() Пример витрины Kivy | |
Разработчик(и) | Отчаянная организация |
---|---|
Первоначальный выпуск | 1 февраля 2011 г [1] |
Стабильная версия | 2.3.0 / 5 января 2024 г [2] |
Репозиторий | github |
Написано в | Питон , Китон |
Операционная система | Кросс-платформенный |
Тип | Платформа приложения |
Лицензия | С ( бесплатное программное обеспечение ) |
Веб-сайт | отчаянный |
Kivy — это бесплатная с открытым исходным кодом Python платформа для разработки мобильных приложений и другого с поддержкой мультитач программного обеспечения и естественным пользовательским интерфейсом (NUI) . Он распространяется на условиях лицензии MIT и может работать на Android , iOS , Linux , macOS и Windows .
Kivy — это основная платформа, разработанная организацией Kivy. [3] наряду с Python для Android, [4] Киви для iOS, [5] и несколько других библиотек, предназначенных для использования на всех платформах. В 2012 году Киви получил грант в размере 5000 долларов от Python Software Foundation за портирование его на Python 3.3. [6] Kivy также поддерживает Raspberry Pi , который финансировался через Bountysource . [7]
Фреймворк содержит все элементы для создания приложения, такие как:
- расширенная поддержка ввода для мыши , клавиатуры , TUIO и событий мультитач, специфичных для ОС;
- графическая библиотека, использующая только OpenGL ES 2 и основанная на объекте Vertex Buffer и шейдерах ;
- широкий набор виджетов , поддерживающих мультитач;
- промежуточный язык (Kv) [8] используется для простого создания пользовательских виджетов.
Kivy — это развитие проекта PyMT. [9]
Пример кода
[ редактировать ]Вот пример программы Hello world всего с одной кнопкой:
from kivy.app import Appfrom kivy.uix.button import Buttonclass TestApp(App): def build(self): return Button(text="Hello World")TestApp().run()
КВ язык
[ редактировать ]Язык Kv — это язык, предназначенный для описания пользовательского интерфейса и взаимодействий в среде Kivy. Как и в случае с другими языками разметки пользовательского интерфейса , здесь можно легко создать целый пользовательский интерфейс и присоединить взаимодействие. Например, чтобы создать диалоговое окно загрузки, включающее браузер файлов и кнопку «Отмена/Загрузка», можно сначала создать базовый виджет на Python, а затем создать пользовательский интерфейс на Kv.
В main.py:
class LoadDialog(FloatLayout): def load(self, filename): pass def cancel(self): pass
И в связанном Kv:
#:kivy 1.11.1<LoadDialog>: BoxLayout: size: root.size pos: root.pos orientation: "vertical" FileChooserListView: id: filechooser BoxLayout: size_hint_y: None height: 30 Button: text: "Cancel" on_release: root.cancel() Button: text: "Load" on_release: root.load(filechooser.path, filechooser.selection)
Альтернативно, макет (здесь — Box Layout) и кнопки можно загрузить непосредственно в файл main.py.
Связанные проекты
[ редактировать ]- Buildozer, универсальный упаковщик Python для Android и iOS .
- Plyer, платформонезависимая оболочка Python для платформозависимых API .
- PyJNIus, динамический доступ к Java / Android API из Python .
- Pyobjus, динамический доступ к Objective-C / iOS API из Python .
- Python для Android, набор инструментов для создания и упаковки приложений Python для Android .
- Kivy для iOS, набор инструментов для создания и упаковки приложений Kivy для iOS .
- Audiostream, библиотека для прямого доступа к микрофону и динамику .
- на основе сущностей KivEnt, игровой движок для Kivy.
- Kivy Garden — виджеты и библиотеки, созданные и поддерживаемые сообществом .
- Kivy SDK Packager, скрипты для генерации Kivy SDK на Windows , macOS и Linux .
- Kivy Remote Shell, удаленное SSH + Python . приложение интерактивной оболочки
- KivyPie, дистрибутив на основе Raspbian , использующий новейшую платформу Kivy на Raspberry Pi .
- OSCPy, быстрая и надежная реализация OSC .
- Приправа, препроцессор , который включает или удаляет Python часть кода в соответствии с переменными среды .
- KivyAuth, вход через социальные сети через учетные записи Google , Facebook , GitHub и Twitter в приложениях Kivy.
- KivMob, AdMob для приложений Kivy. поддержка
- KivyMD — набор виджетов Material Design для Kivy.
Google Лето кода
[ редактировать ]Киви принял участие в Google Summer of Code в рамках Python Software Foundation .
- В отчаянии в GSoC'2014. [10]
- В отчаянии в GSoC'2015. [11]
- В отчаянии в GSoC'2016. [12]
- В отчаянии в GSoC'2017. [13]
См. также
[ редактировать ]- Pygame , еще один игровой API Python, слой над простым слоем DirectMedia.
- Кокос2д
- Панда3D
- Пиглет
- Уровень сценариев для Android
Ссылки
[ редактировать ]- ^ «Журнал изменений Kivy» , kivy.org , получено 5 апреля 2016 г.
- ^ «Киви 2.3.0» . github.com . 05.01.2024 . Проверено 22 марта 2024 г.
- ^ «О нас» , kivy.org
- ^ «Python для Android» , github.com.
- ^ «Kivy для iOS» , github.com
- ^ «Kivy и Python 3.3, проект запущен» , Группы Google
- ^ «Киви на Raspberry Pi» , bountysource.com
- ^ «Руководство по программированию » Язык Kv» , kivy.org
- ^ «Часто задаваемые вопросы: как Kivy связан с PyMT?» , kivy.org , получено 9 июня 2012 г.
- ^ «Google Summer of Code 2014 @ Python Software Foundation» .
- ^ «Google Summer of Code 2015 @ Python Software Foundation» .
- ^ «Google Summer of Code 2016 @ Python Software Foundation» .
- ^ «Google Summer of Code 2017 @ Python Software Foundation» .