「Kivy」の版間の差分
表示
削除された内容 追加された内容
m Bot作業依頼: Apple関連記事の改名に伴うリンク修正依頼(2) (iOS (Apple)) - log |
m Bot作業依頼: iOSの改名提案に伴う内部リンク修正依頼 (iOS) - log |
||
18行目: | 18行目: | ||
}} |
}} |
||
'''Kivy'''は、[[Python]]のNUI(Natural User Interface)でのマルチタッチアプリケーション開発のためのオープンソースライブラリである。動作環境は[[Android (オペレーティングシステム)|Android]]、[[ |
'''Kivy'''は、[[Python]]のNUI(Natural User Interface)でのマルチタッチアプリケーション開発のためのオープンソースライブラリである。動作環境は[[Android (オペレーティングシステム)|Android]]、[[iOS]]、[[Linux]]、MacOS X、[[Windows]]である。[[MITライセンス]]で配布されているフリーの[[オープンソースソフトウェア]]である。 |
||
Kivyは様々なプラットフォームで動作するように開発が進められており、Raspberry Piもサポートされた。 |
Kivyは様々なプラットフォームで動作するように開発が進められており、Raspberry Piもサポートされた。 |
2021年11月10日 (水) 04:20時点における版
作者 | Kivy organization |
---|---|
初版 | 2011年2月1日[1] |
最新版 |
2.0.0
/ 2020年12月10日[1] |
リポジトリ | |
プログラミング 言語 | Python, Cython |
対応OS | Cross-platform |
ライセンス | MIT (Free software) |
公式サイト |
kivy |
Kivyは、PythonのNUI(Natural User Interface)でのマルチタッチアプリケーション開発のためのオープンソースライブラリである。動作環境はAndroid、iOS、Linux、MacOS 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に参加しました。
- Kivy in GSoC'2014: https://www.google-melange.com/archive/gsoc/2014/orgs/python
- Kivy in GSoC'2015: https://www.google-melange.com/archive/gsoc/2015/orgs/python
- Kivy in GSoC'2016: https://wiki.python.org/moin/SummerOfCode/2016
References
- ^ a b “Kivy changelog”, kivy.org 2016年4月5日閲覧。
- ^ “FAQ: How is Kivy related to PyMT?”, kivy.org 2012年6月9日閲覧。