Kivy

Kivy
作者 Kivy organization
初版 2011年2月1日 (13年前) (2011-02-01)[1]
最新版
2.0.0 / 2020年12月10日 (3年前) (2020-12-10)[1]
リポジトリ ウィキデータを編集
プログラミング
言語
Python, Cython
対応OS Cross-platform
ライセンス MIT (Free software)
公式サイト kivy.org
テンプレートを表示

Kivy(キビー)は、PythonのNUI(Natural User Interface)でのマルチタッチアプリケーション開発のためのオープンソースライブラリである。動作環境はAndroidiOSLinux、Mac OS X、Windowsである。MITライセンスで配布されているフリーのオープンソースソフトウェアである。

Kivyは様々なプラットフォームで動作するように開発が進められており、Raspberry Piもサポートされた。

特徴としては以下のとおりである。

  • マウス、キーボード、TUIO、OS固有のマルチタッチイベントなど広範な入力への対応
  • OpenGL ES 2のVertext Buffer Objectとshadersを使用したグラフィックライブラリ
  • マルチタッチ対応のさまざまなウィジェット
  • カスタムウィジェットを容易にデザインするための中間言語Kv

Kivy は PyMTを発展させたものであり、新しいアプリケーションの開発には PyMT ではなく Kivy を使うことが推奨されている。[2]

姉妹プロジェクト[編集]

  • Buildozer: AndroidとiOS用の汎用Pythonツール。
  • Plyer: Pythonラッパーのプラットフォーム非依存API群。
  • Pyjnius: PythonからJava / Android APIへの動的アクセスする。
  • Pyobjus: PythonからObjective-C / iOS APIへの動的アクセスする。
  • Python for Android: Pythonアプリケーションをビルドしてパッケージ化するためのツールチェーン。
  • Kivy iOS:iOS用のKivyアプリケーションをビルドしてパッケージ化するためのツールチェーン。
  • Audiostream: マイクとスピーカーに直接アクセスするためのライブラリ。
  • Kivy Designer:KivyのUIデザイナー。
  • KivEnt: ivyのエンティティベースのゲームエンジン。
  • Garden: ユーザーが作成し管理するウィジェットとライブラリ。
  • kivy-sdk-packager: Windows、OS X、LinuxでのKivy SDKの生成用スクリプト。
  • kivy-remote-shell: リモートSSH + Python対話型シェルアプリケーション。

コード[編集]

ボタン一つのHello worldアプリケーションは下記のとおり。

from kivy.app import App from kivy.uix.button import Button  class TestApp(App):     def build(self):         return Button(text='Hello World')  TestApp().run() 

言語としてのKv[編集]

Kvは言語として、ユーザーインターフェースとその作用を記述できるようになっている。QMLと同じく、容易にUI全体を作り、そこにイベントを追加できる。たとえばキャンセルとロードのボタンをのせたローディングダイアログを含むファイルブラウザを作るなら、ベースとなるウィジェットを一つPythonで作り、あとはKvでUIを構築できる。

In main.py:

class LoadDialog(FloatLayout):     def load(self, filename): pass     def cancel(self): pass 

And in the associated Kv:

#:kivy 1.4.0 <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) 

Google Summer of Code[編集]

KivyはPython Software FoundationのGoogle Summer of Codeに参加しました。

References[編集]

外部リンク[編集]