樹莓派4B:1gRAM安裝Python GUI庫Kivy教程

踩了很多坑,歷時一天半終於成功了,哭了 :( 還好最後 :),方可安心地編寫帶有炫酷界面程序。最後有彩蛋。沒事在GitHub上多看Issues,對自己思考問題有幫助。

第零步,什麼是Kivy

來自官方——用於快速開發應用程序的開源Python庫,程序可調用創新的用戶接口(例如多點觸控應用)。
其特點是:

  • 跨平臺:Kivy可在LinuxWindowsOS XAndroidiOSRaspberry Pi上運行,可以在所有支持的平臺上運行相同的代碼。它可以本地使用大多數輸入、協議和設備,包括WM_TouchWM_PenMac OS X TrackpadMagic MouseMtdevLinux Kernel HIDTUIO以及多點觸控鼠標模擬器
  • 商業友好:根據MIT許可證(從1.7.2開始)和LGPL 3,Kivy是100%免費使用。該工具包是專業開發,支持和使用的。可以在商業產品中使用它。該框架是穩定的,並且具有完善的API,以及可幫助您入門的編程指南。
  • GPU加速:圖形引擎是基於OpenGL ES 2構建的,使用現代、快速的圖形管線。該工具包帶有20多個小部件,全部高度可擴展。許多部分基於Cython用C編寫,並通過迴歸測試進行了測試。

第一步,安裝依賴

如果引擎是python,將python3替換爲python即可

  1. 安裝環境依賴
$ 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
  1. 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
  1. 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,運行之就可以得到熟悉的配方
在這裏插入圖片描述

發佈了80 篇原創文章 · 獲贊 34 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章