Разработчик(и) | Киви организация |
---|---|
Первоначальный выпуск | 1 февраля 2011 г. ( 2011-02-01 ) | [1]
Стабильный релиз | 2.3.0 / 5 января 2024 г. ( 2024-01-05 ) [2] |
Репозиторий | github.com/kivy/kivy |
Написано в | Питон , Cython |
Операционная система | Кроссплатформенный |
Тип | Рамка приложения |
Лицензия | Массачусетский технологический институт ( Свободное программное обеспечение ) |
Веб-сайт | kivy.org |
Kivy — это бесплатный и открытый исходный код Python- фреймворк для разработки мобильных приложений и другого программного обеспечения для мультитач- приложений с естественным пользовательским интерфейсом (NUI) . Он распространяется в соответствии с условиями лицензии MIT и может работать на Android , iOS , Linux , macOS и Windows .
Kivy — это основной фреймворк, разработанный организацией Kivy, [3] наряду с Python для Android, [4] Kivy для iOS, [5] и несколькими другими библиотеками, предназначенными для использования на всех платформах. В 2012 году Kivy получил грант в размере 5000 долларов от Python Software Foundation для портирования его на Python 3.3. [6] Kivy также поддерживает Raspberry Pi , который финансировался через Bountysource . [7]
Фреймворк содержит все элементы для создания приложения, такие как:
Kivy — это развитие проекта PyMT. [9]
Вот пример программы Hello world всего с одной кнопкой:
из kivy.app импортировать приложение из kivy.uix.button импортировать кнопкукласс TestApp ( App ): def build ( self ): return Button ( text = "Hello World" )TestApp () . run ()
Язык Kv — это язык, предназначенный для описания пользовательского интерфейса и взаимодействий в фреймворке Kivy. Как и в случае с другими языками разметки пользовательского интерфейса , можно легко создать целый пользовательский интерфейс и прикрепить взаимодействие. Например, чтобы создать диалоговое окно загрузки, включающее браузер файлов и кнопку «Отмена/Загрузить», можно сначала создать базовый виджет в Python, а затем сконструировать пользовательский интерфейс в Kv.
В main.py:
класс LoadDialog ( FloatLayout ): def load ( self , filename ): проход def cancel ( self ): проход
И в соответствующем Кв:
#:kivy 1.11.1<LoadDialog> : BoxLayout : размер : root.size позиция : root.pos ориентация : "вертикальная" FileChooserListView : id : 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 в рамках Python Software Foundation .