Kivy

Kivy是開源Python函式庫，用於開發行動應用程式和其它採用自然用户界面的多點觸控應用軟件。它可以在Android，iOS，Linux，OS X和Windows執行。採用MIT授權條款，Kivy是自由並且開源的軟件。

Kivy的主要架構由Kivy組織開發， 並有Python用於Android，Kivy iOS，和其它許多函式庫被使用在所有平台。在2012年，Kivy從Python軟體基金會獲得$5000美元補助，用於移植Kivy到Python 3.3。因有集資贊助的緣故，Kivy也支援樹莓派。

其架構包括所有建造應用程式的元素，例如：
 支援許多種輸入，例如滑鼠，鍵盤、觸控式使用者介面(TUIO)和特定作業系統的多重觸控事件，
 只採用OpenGL ES 2的圖形函式庫，且根基於向量緩衝物件(Vertex Buffer Object)和著色器，
 支援多點觸控的龐大控制項，
 一個中間語言(Kv)用來簡化客製控制項的設計。

Kivy改良了PyMT專案，並且推薦給新的專案採用。

程式範例
以下是一個按鈕的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 語言
Kivy語言(Kv)是致力於描述使用者介面和與使用者互動的一種語言。就像QML，它能夠簡單的建造整個使用者介面並加上互動。例如，建造一個包括檔案瀏覽器，和取消/載入按鈕的對話框，它能夠採用Python快速的造出基本的控制項，之後用Kv造出使用者介面。

在main.py：
class LoadDialog(FloatLayout):
    def load(self, filename): pass
    def cancel(self): pass

並且在相關的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)

外部鍵結

 PyMT project 

參考文獻

Category:Python库