跳转到内容

Kivy

本页使用了标题或全文手工转换
维基百科,自由的百科全书

这是本页的一个历史版本,由InternetArchiveBot留言 | 贡献2021年2月7日 (日) 09:59 (补救8个来源,并将0个来源标记为失效。) #IABot (v2.0.8)编辑。这可能和当前版本存在着巨大的差异。

Kivy
開發者Kivy組織
首次发布2011年2月1日,​13年前​(2011-02-01[1]
当前版本1.11.1(2019年6月21日,​5年前​(2019-06-21[1]
源代码库 編輯維基數據鏈接
编程语言PythonCython
操作系统跨平台
类型應用框架
许可协议MIT (自由软件)
网站kivy.org

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

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

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

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

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

程式範例

以下是一個按鈕的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. ^ 1.0 1.1 存档副本. [2015-09-12]. (原始内容存档于2015-09-01). 
  2. ^ About us, kivy.org, [2015-09-12], (原始内容存档于2015-09-01) 
  3. ^ Python for Android, github.com, [2015-09-14], (原始内容存档于2021-01-02) 
  4. ^ Kivy for iOS, github.com, [2015-09-14], (原始内容存档于2021-01-01) 
  5. ^ Kivy and Python 3.3, project started, Google Groups 
  6. ^ Kivy on Raspberry Pi, bountysource.com, [2015-09-14], (原始内容存档于2006-11-19) 
  7. ^ Programming Guide, Introduction to the Kivy Language, kivy.org, [2015-09-14], (原始内容存档于2012-01-20) 
  8. ^ FAQ: How is Kivy related to PyMT?, kivy.org, [2012-06-09], (原始内容存档于2017-09-21)