Kivy (фреймворк)

Бесплатная и многоплатформенная графическая библиотека для Python
Киви
Разработчик(и)Киви организация
Первоначальный выпуск1 февраля 2011 г. ; 13 лет назад [1] ( 2011-02-01 )
Стабильный релиз
2.3.0 / 5 января 2024 г. ; 10 месяцев назад [2] ( 2024-01-05 )
Репозиторий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]

Фреймворк содержит все элементы для создания приложения, такие как:

  • расширенная поддержка ввода для мыши , клавиатуры , TUIO и специфичных для ОС событий мультитач;
  • графическая библиотека, использующая только OpenGL ES 2 и основанная на Vertex Buffer Object и шейдерах ;
  • широкий спектр виджетов , поддерживающих мультитач;
  • промежуточный язык (Kv) [8], используемый для простой разработки пользовательских виджетов.

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 Лето Кода

Киви принял участие в мероприятии Google Summer of Code в рамках Python Software Foundation .

  • Киви в GSoC'2014. [10]
  • Киви в GSoC'2015. [11]
  • Киви в GSoC'2016. [12]
  • Киви в GSoC'2017. [13]

Смотрите также

Ссылки

  1. ^ «Журнал изменений Kivy», kivy.org , получено 5 апреля 2016 г.
  2. ^ "Киви 2.3.0" . github.com . 05.01.2024 . Проверено 22 марта 2024 г.
  3. ^ "О нас", kivy.org
  4. ^ "Python для Android", github.com
  5. ^ "Kivy для iOS", github.com
  6. ^ "Kivy и Python 3.3, проект запущен", Google Groups
  7. ^ «Киви на Raspberry Pi», bountysource.com
  8. ^ "Руководство по программированию » Язык Kv", kivy.org
  9. ^ "FAQ: Как Kivy связан с PyMT?", kivy.org , получено 2012-06-09
  10. ^ «Google Summer of Code 2014 @ Python Software Foundation».
  11. ^ «Google Summer of Code 2015 @ Python Software Foundation».
  12. ^ «Google Summer of Code 2016 @ Python Software Foundation».
  13. ^ «Google Summer of Code 2017 @ Python Software Foundation».
  • Официальный сайт
Взято с "https://en.wikipedia.org/w/index.php?title=Kivy_(framework)&oldid=1215018000"