踩了很多坑,历时一天半终于成功了,哭了
:(
还好最后:)
,方可安心地编写带有炫酷界面程序。最后有彩蛋。没事在GitHub
上多看Issues,对自己思考问题有帮助。
第零步,什么是Kivy
来自官方——用于快速开发应用程序的开源Python库,程序可调用创新的用户接口(例如多点触控应用)。
其特点是:
- 跨平台:Kivy可在
Linux
,Windows
,OS X
,Android
,iOS
和Raspberry Pi
上运行,可以在所有支持的平台上运行相同的代码。它可以本地使用大多数输入、协议和设备,包括WM_Touch
,WM_Pen
,Mac OS X Trackpad
和Magic Mouse
,Mtdev
,Linux Kernel HID
,TUIO
以及多点触控鼠标模拟器
。 - 商业友好:根据MIT许可证(从1.7.2开始)和LGPL 3,Kivy是100%免费使用。该工具包是
专业开发
,支持和使用的。可以在商业产品中使用它。该框架是稳定的,并且具有完善的API,以及可帮助您入门的编程指南。 - GPU加速:图形引擎是基于
OpenGL ES 2
构建的,使用现代、快速的图形管线。该工具包带有20
多个小部件,全部高度可扩展。许多部分基于Cython
用C编写,并通过回归测试进行了测试。
第一步,安装依赖
如果引擎是python,将python3替换为python即可
- 安装环境依赖
$ sudo apt update
$ sudo apt install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev \
pkg-config libgl1-mesa-dev libgles2-mesa-dev \
python3-setuptools libgstreamer1.0-dev git-core \
gstreamer1.0-plugins-{bad,base,good,ugly} \
gstreamer1.0-{omx,alsa} python3-dev libmtdev-dev \
xclip xsel libjpeg-dev
- ffplayer依赖
$ sudo apt install ffmpeg libavcodec-dev libavdevice-dev libavfilter-dev libavformat-dev \
libavutil-dev libswscale-dev libswresample-dev libpostproc-dev libsdl2-dev libsdl2-2.0-0 \
libsdl2-mixer-2.0-0 libsdl2-mixer-dev python3-dev
- PIP依赖
$ pip3 install Cython==0.29.10 pillow
$ pip3 install pygame 基于pygame开发
$ pip3 install pygments docutils
$ pip3 install pytest 用于测试
第二步,下载开发者版本
下载Kivy开发者版本
$ git clone git://github.com/kivy/kivy.git
可以在该目录下找到kivy文件夹
第三步,安装
然后进入kivy
文件夹进行编译
$ cd kivy
$ python setup.py build_ext --inplace -f
上述命令第二条可以用make指令替换,其含义相同
$ make
安装命令
$ python3 setup.py install
第四步,修改配置(可忽略,有问题再添加)
在编写的文件中添加
import os
#os.environ['KIVY_VIDEO'] = 'ffpyplayer'
#os.environ['KIVY_TEXT'] = 'pil'
os.environ['KIVY_WINDOW'] = 'sdl2'
第四步,测试
项目组基于pytest
提供了一组单元测试
$ make test
最后给一个动图来看一下有多炫酷,此处稍等3s,看了测试甚至想唱一首黑的白的红的黄的紫的绿的蓝的灰的。
第五步,写一个简单的APP
代码
from kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
def build(self):
return Button(text='Hello World')
TestApp().run()
OK,运行之就可以得到熟悉的配方