踩了很多坑,歷時一天半終於成功了,哭了
:(
還好最後:)
,方可安心地編寫帶有炫酷界面程序。最後有彩蛋。沒事在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,運行之就可以得到熟悉的配方