MacOS下KivyMD除MDIconButton外所有按钮运行报错问题咨询
问题原因
该报错由Kivy与KivyMD版本不兼容导致:
- 你使用的
Kivy 2.1.0.dev0是未正式发布的开发版本,内部属性存储逻辑做了调整,和KivyMD 0.104.2系列(包括dev版和稳定版)依赖的稳定版Kivy属性逻辑不匹配,触发属性类型转换错误。 - MDIconButton可正常运行是因为其属性定义未用到和新版Kivy冲突的边界数值属性逻辑,其他按钮组件在计算宽高、圆角等属性时会触发冲突。
解决方案
1. 卸载现有版本
执行命令卸载当前安装的Kivy、KivyMD:
pip uninstall -y kivy kivymd
若你使用Python3独立pip工具,将上述命令中的pip替换为pip3即可。
2. 安装适配的稳定版本组合
KivyMD 0.104.2系列适配最稳定的Kivy版本为2.0.0,执行以下命令安装对应稳定版:
pip install kivy==2.0.0 pip install kivymd==0.104.2
如果后续想使用更高版本的KivyMD,可安装KivyMD 1.0+正式版搭配Kivy 2.1.0+正式版使用,注意不要使用任意组件的dev开发版本即可避免此类兼容问题。
3. 验证修复
安装完成后重新运行你的测试代码或官方Kitchen Sink演示,所有按钮组件即可正常运行。
内容的提问来源于stack exchange,提问作者chai154
相关产品推荐
相关产品推荐

