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)