Skip to content

captainbupt/KivyMdDemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KivyMD

Kivy是一个基于python的跨平台应用开发框架。它同时支持Linux, Windows, OS X, Android和iOS,并且能够识别大部分的操作。 而kivyMD则是一个基于kivy的一个扩展包,它的目的是提供一个类似于Google Material Design的一套控件,这样,使用者就可以方便的将android上的Material Design效果移植到其他的平台上去。

安装

首先,本次安装过程要求全程翻墙,否则无法下载对应的控件。

那么第一步,是kivy的安装,可以参照https://kivy.org/#download,根据自己的平台去做相应的操作。这里以mac下python3.5为例:

  • 首先下载mac下python3对应的安装包
  • 下载完成后,解压缩文件,可以得到Kivy2.app
  • 执行命令sudo mv Kivy2.app /Applications/Kivy.app添加到应用列表中去
  • 添加链接命令到/usr/local/bin下ln -s /Applications/Kivy.app/Contents/Resources/script /usr/local/bin/kivy(此时可使用命令kivy -V来查看版本,请务必保证和当前python版本一致)
  • 安装KivyMD的一个依赖modulekivy -m pip install kiva-garden(如果安装不成功,可以尝试直接pip install kivy-garden
  • 安装garden这个module的一个子modulegarden install recycle view. 再次提醒,以上步骤必须翻墙,否则无法安装成功。

安装完成后,从gitlab上把KivyMD clone下来:git clone https://gitlab.com/kivymd/KivyMD.git,然后执行kivy setup.py install就可以完成KivyMD的安装了。

最后测试:kivy kitchen_sink.py就能够看到demo界面了。

Alt text Alt text

  • 如果执行kivy kitchen_sink.py出现No module named 'theming',应该属于兼容性上的问题。解决方法:对与python3来说,需要手动把kivymd中对应的py控件中的from theming import ThemableBehavior修改成from kivymd.theming import ThemableBehaviorfrom elevationbehavior import ElevationBehavior修改成from kivymd.elevationbehavior import ElevationBehavior。需要修改的文件包括dialog.pytextfields.pyspinner.pyslidingpanel.py等(具体根据执行kivy kitchen_sink.py的错误提示进行判断)。全部修改完后,再次执行kivy setup.py install即可。
  • 修改完以上问题后,可能还会出现 KeyError: 'kivy.garden.recycleview',这可能是由于garden本身存在的bug,导致recycleview没有被装到需要的位置。解决方法:打开命令行,输入ivy进入python命令行。执行语句import sys,然后print(sys.path),在结果中,找到以ivy结尾的路径,在mac中为/Applications/Kivy.app/Contents/Resources/kivy/,然后进入该目录下的kivy/garden,执行git clone https://github.com/kivy-garden/garden.recycleview.git。然后执行mv garden.recycleview recycle view即可。如果还出现上述问题,说明进入的路径有误,请从sys.path找到其他可能的路径。

About

A demo application for KivyMD

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages