Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

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

Ссылки [ править ]

  1. ^ "Kivy изменений" , kivy.org , извлекаться 2016-04-05
  2. ^ «Киви 2.0.0» . github.com . 2020-12-10 . Проверено 10 марта 2021 .
  3. ^ "2.0.0rc4" . github.com . 2020-10-15 . Проверено 10 марта 2021 .
  4. ^ "О нас" , kivy.org
  5. ^ "Python для Android" , github.com
  6. ^ "Kivy для iOS" , github.com
  7. ^ «Kivy and Python 3.3, проект запущен» , Группы Google
  8. ^ «Киви на Raspberry Pi» , bountysource.com
  9. ^ "Руководство по программированию» Kv language " , kivy.org
  10. ^ "FAQ: Как Kivy связана с PyMT?" , Kivy.org , Retrieved 2012-06-09
  11. ^ "Google Summer of Code 2014 @ the Python Software Foundation" .
  12. ^ "Google Summer of Code 2015 @ the Python Software Foundation" .
  13. ^ "Google Summer of Code 2016 @ the Python Software Foundation" .
  14. ^ "Google Summer of Code 2017 @ the Python Software Foundation" .

Внешние ссылки [ править ]

  • Официальный сайт