You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ImportError:无法从kivymd.uix.button导入MDFlatButton求助

解决ImportError: cannot import name 'MDFlatButton' from 'kivymd.uix.button'

问题原因

你遇到的错误主要来自两个方面:

  1. 组件类不匹配:你的KV代码里使用的是MDFillFlatButton,但导入的是MDFlatButton——这是KivyMD中两个独立的按钮组件,导入语句和实际使用的组件不对应。
  2. 环境版本冲突:即便重装了KivyMD,旧版本的残留文件或虚拟环境冲突可能导致导入路径异常。

解决方案

方案1:匹配组件与导入语句

如果要保留KV中的MDFillFlatButton,修改导入语句为对应组件:

from kivy.lang import Builder
from kivymd.app import MDApp
from kivymd.uix.dialog import MDDialog
# 替换为MDFillFlatButton的导入
from kivymd.uix.button import MDFillFlatButton
from kivy.core.window import Window

Window.size = (300, 450)

KV = '''
Screen:
    MDFillFlatButton:
        text : "LOG IN"
        font_size: 15
        pos_hint: {"center_x" : 0.5}
        on_press: app.login() 
'''

class LoginApp(MDApp):
    def build(self):
        return Builder.load_string(KV)
    
    def login(self):
        # 在此添加你的登录逻辑
        pass

if __name__ == "__main__":
    LoginApp().run()

如果想使用MDFlatButton,则同步修改KV和导入语句:

from kivy.lang import Builder
from kivymd.app import MDApp
from kivymd.uix.dialog import MDDialog
from kivymd.uix.button import MDFlatButton
from kivy.core.window import Window

Window.size = (300, 450)

KV = '''
Screen:
    MDFlatButton:
        text : "LOG IN"
        font_size: 15
        pos_hint: {"center_x" : 0.5}
        on_press: app.login() 
'''

class LoginApp(MDApp):
    def build(self):
        return Builder.load_string(KV)
    
    def login(self):
        # 在此添加你的登录逻辑
        pass

if __name__ == "__main__":
    LoginApp().run()

方案2:清理环境并重新安装

如果上述方法无效,说明环境存在版本冲突,按以下步骤操作:

  1. 卸载现有Kivy和KivyMD:
    pip uninstall kivy kivymd -y
    
  2. 创建并激活新的虚拟环境(以venv为例):
    python -m venv kivy_env
    # Windows激活
    kivy_env\Scripts\activate
    # Linux/macOS激活
    source kivy_env/bin/activate
    
  3. 安装最新版Kivy和KivyMD:
    pip install kivy kivymd
    

内容的提问来源于stack exchange,提问作者Valeria Rueda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 22:33:11