Пример Kivy Showcase | |
Разработчики) | Киви организация |
---|---|
Начальная версия | 1 февраля 2011 г . [1] |
Стабильный выпуск | 2.0.0 / 10 декабря 2020 г . [2] |
Предварительный выпуск | 2.0.0rc4 / 15 октября 2020 г . [3] |
Репозиторий | github |
Написано в | Python , Cython |
Операционная система | Кроссплатформенность |
Тип | Фреймворк приложения |
Лицензия | MIT ( Бесплатное программное обеспечение ) |
Веб-сайт | kivy |
Kivy является свободным и открытым исходным кодом Python рамки для разработки мобильных приложений и других мультитач прикладного программного обеспечения с естественным пользовательским интерфейсом (NUI) . Он распространяется в соответствии с условиями лицензии MIT и может работать на Android , iOS , GNU / Linux , macOS и Windows .
Kivy - это основной фреймворк, разработанный организацией Kivy [4] наряду с Python для Android, [5] Kivy iOS, [6] и несколькими другими библиотеками, предназначенными для использования на всех платформах. В 2012 году Киви получил грант в размере 5000 долларов от Python Software Foundation на перенос его на Python 3.3. [7] Kivy также поддерживает Raspberry Pi, который финансировался через Bountysource . [8]
Фреймворк содержит все элементы для создания приложения, такие как:
- расширенная поддержка ввода для мыши , клавиатуры , TUIO и событий мультитач ОС,
- графическая библиотека, использующая только OpenGL ES 2 и основанная на Vertex Buffer Object и шейдерах ,
- широкий набор виджетов , поддерживающих мультитач ,
- промежуточный язык (Kv) [9], используемый для простой разработки пользовательских виджетов.
Kivy является развитием проекта PyMT и рекомендуется для новых проектов. [10]
Связанные проекты [ править ]
- 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 .
- Аудиопоток , библиотека для прямого доступа к микрофону и динамику .
- KivEnt , игровой движок на основе сущностей для Kivy.
- Kivy Garden , виджеты и библиотеки, созданные и поддерживаемые сообществом .
- Kivy SDK Packager , скрипты для генерации Kivy SDK в Windows , macOS и Linux .
- Kivy Remote Shell , удаленное приложение с интерактивной оболочкой SSH + Python .
- KivyPie , Raspbian -На распределение работы последней базы Kivy на Raspberry Pi .
- OSCPy , быстрая и надежная реализация OSC .
- Condiment , препроцессор, который включает или удаляет часть кода Python в соответствии с переменными среды .
- KivyAuth , социальный вход через учетные записи Google , Facebook , GitHub и Twitter в приложениях Kivy.
- KivMob , поддержка AdMob для приложений Kivy.
- KivyMD , набор виджетов Material Design для Kivy.
Пример кода [ править ]
Вот пример программы Hello world с одной кнопкой:
from kivy.app import App from kivy.uix.button import Buttonclass TestApp ( App ): def build ( self ): return Button ( text = "Hello World" )TestApp () . запустить ()
Kv language [ править ]
Язык 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 Ориентация : "вертикальная" FileChooserListView : идентификатор : filechooser BoxLayout : size_hint_y : Нет высота : 30 Кнопка : текст : «Отмена» on_release : root.cancel () Кнопка : текст : «Загрузить» on_release : root.load (filechooser.path, filechooser.selection)
В качестве альтернативы макет (здесь Box Layout) и кнопки можно загрузить непосредственно в файл main.py.
Google Summer of Code [ править ]
Киви участвовала в Google Summer of Code в рамках Python Software Foundation .
- Киви в GSoC'2014. [11]
- Киви в GSoC'2015. [12]
- Киви в GSoC'2016. [13]
- Киви на GSoC'2017. [14]
См. Также [ править ]
- Pygame , еще один игровой API Python , слой поверх Simple DirectMedia Layer
- Cocos2d
- Panda3D
- Пиглет
- Слой сценариев для Android
Ссылки [ править ]
- ^ "Kivy изменений" , kivy.org , извлекаться 2016-04-05
- ^ «Киви 2.0.0» . github.com . 2020-12-10 . Проверено 10 марта 2021 .
- ^ "2.0.0rc4" . github.com . 2020-10-15 . Проверено 10 марта 2021 .
- ^ "О нас" , kivy.org
- ^ "Python для Android" , github.com
- ^ "Kivy для iOS" , github.com
- ^ «Kivy and Python 3.3, проект запущен» , Группы Google
- ^ «Киви на Raspberry Pi» , bountysource.com
- ^ "Руководство по программированию» Kv language " , kivy.org
- ^ "FAQ: Как Kivy связана с PyMT?" , Kivy.org , Retrieved 2012-06-09
- ^ "Google Summer of Code 2014 @ the Python Software Foundation" .
- ^ "Google Summer of Code 2015 @ the Python Software Foundation" .
- ^ "Google Summer of Code 2016 @ the Python Software Foundation" .
- ^ "Google Summer of Code 2017 @ the Python Software Foundation" .
Внешние ссылки [ править ]
- Официальный сайт