Kivy

維基百科,自由的百科全書
跳至導覽 跳至搜尋
Kivy
File:Kivy logo.png
開發者Kivy組織
首次發佈2011年2月1日,​15年前​(2011-02-01[1]
目前版本2.1.0(2022年3月6日,​4年前​(2022-03-06[2]
原始碼庫
  • {{URL|example.com|可选的显示文本}}
Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
程式語言PythonCython
引擎
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    作業系統跨平台
    類型應用框架
    許可協定MIT (自由軟件)
    網站kivy.org

    Kivy是開源Python函式庫,用於開發流動應用程式和其它採用自然用戶介面多點觸控應用軟件。它可以在AndroidiOSLinuxOS XWindows執行。採用MIT授權條款,Kivy是自由並且開源的軟件

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

    其架構包括所有建造應用程式的元素,例如:

    • 支援許多種輸入,例如滑鼠,鍵盤、觸控式用戶介面(TUIO)和特定作業系統的多重觸控事件,
    • 只採用OpenGL ES 2的圖形函式庫,且根基於向量緩衝物件(Vertex Buffer Object)和着色器
    • 支援多點觸控的龐大控制項
    • 一個中間語言(Kv)[8]用來簡化客製控制項的設計。

    Kivy改良了PyMT專案,並且推薦給新的專案採用。[9]

    程式範例[編輯]

    以下是一個按鈕的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)
    

    外部鍵結[編輯]

    參考文獻[編輯]

    1. ^ 存档副本. [2015-09-12]. (原始內容存檔於2015-09-01). 
    2. ^ Kivy 2.1.0. github.com. 2022-03-06 [2022-06-24]. (原始內容存檔於2022-06-28). 
    3. ^ About us, kivy.org, [2015-09-12], (原始內容存檔於2015-09-01) 
    4. ^ Python for Android, github.com, [2015-09-14], (原始內容存檔於2021-01-02) 
    5. ^ Kivy for iOS, github.com, [2015-09-14], (原始內容存檔於2021-01-01) 
    6. ^ Kivy and Python 3.3, project started, Google Groups 
    7. ^ Kivy on Raspberry Pi, bountysource.com, [2015-09-14], (原始內容存檔於2006-11-19) 
    8. ^ Programming Guide, Introduction to the Kivy Language, kivy.org, [2015-09-14], (原始內容存檔於2012-01-20) 
    9. ^ FAQ: How is Kivy related to PyMT?, kivy.org, [2012-06-09], (原始內容存檔於2017-09-21)