Kivy是开源Python函数库,用于开发移动应用程序和其它采用自然用户界面多点触控应用软件。它可以在AndroidiOSLinuxOS XWindows执行。采用MIT授权条款,Kivy是自由并且开源的软件

Quick Facts 开发者, 首次发布 ...
Kivy
Thumb
开发者Kivy组织
首次发布2011年2月1日,​13年前​(2011-02-01[1]
当前版本2.1.0(2022年3月6日,​2年前​(2022-03-06[2]
原始码库 编辑维基数据链接
编程语言PythonCython
操作系统跨平台
类型应用框架
许可协议MIT (自由软件)
网站kivy.org
Close

Kivy的主要架构由Kivy组织开发,[3] 并有Python用于Android,[4]Kivy iOS,[5]和其它许多函数库被使用在所有平台。在2012年,Kivy从Python软件基金会获得$5000美元补助,用于移植Kivy到Python 3.3。[6]Kivy也支持由Bountysource赞助的树莓派[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)

外部键结

参考文献

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.