版权归原作者所有,如有侵权,请联系我们

[科普中国]-Kivy

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

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

简介

Kivy的主要架构由Kivy组织开发,并有Python用于AndroidKivy iOS和其它许多函式库被使用在所有平台。在2012年,Kivy从Python软件基金会获得$5000美元补助,用于移植Kivy到Python 3.3。Kivy也支援由Bountysource赞助的树莓派

其架构包括所有建造应用程序的元素,例如:

支援许多种输入,例如鼠标,键盘、触控式使用者界面(TUIO)和特定操作系统的多重触控事件,只采用OpenGL ES 2的图形函式库,且根基于向量缓冲物件(Vertex Buffer Object)和着色器,支援多点触控的庞大控件,一个中间语言(Kv)用来简化客制控件的设计。

Kivy改良了PyMT专案,并且推荐给新的专案采用。1

程式范例

以下是一个按钮的Hello World程式范例2:

from kivy.app import Appfrom kivy.uix.button import Buttonclass 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

并且在相关的Kv2:

#:kivy 1.4.0:    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)

本词条内容贡献者为:

王沛 - 副教授、副研究员 - 中国科学院工程热物理研究所