この記事は検証可能参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)出典検索?"Kivy" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2012年6月)
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もサポートされた。

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

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

姉妹プロジェクト

コード

ボタン一つの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

外部リンク