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

Kivy与KivyMD是否可在同一项目中搭配使用?

Kivy与KivyMD混合使用相关问题解答

核心结论

KivyMD是基于Kivy封装的Material Design风格组件库,二者天然兼容,可以搭配使用,也支持在同一段kv代码中同时调用原生Kivy组件(如Button)和KivyMD组件(如MDButton)。

使用方法

你只需要在Python代码中提前导入需要用到的对应组件即可,kv语言会自动识别已注册的组件类,无需额外做适配配置。
以下是可直接运行的最小示例:

Python 代码

from kivy.lang import Builder
from kivy.uix.button import Button
from kivymd.app import MDApp
from kivymd.uix.button import MDButton, MDButtonText

KV = '''
BoxLayout:
    orientation: 'vertical'
    padding: "24dp"
    spacing: "16dp"

    # 调用原生Kivy的Button组件
    Button:
        text: "原生Kivy按钮"
        size_hint_y: None
        height: "40dp"

    # 调用KivyMD的MDButton组件
    MDButton:
        size_hint_y: None
        height: "40dp"
        MDButtonText:
            text: "KivyMD风格按钮"
'''

class TestApp(MDApp):
    def build(self):
        return Builder.load_string(KV)

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

注意事项

  • KivyMD组件的样式由全局theme_cls管理,和原生Kivy组件的样式配置互不干扰,你可以手动给原生Kivy组件绑定MD主题变量,比如设置md_bg_color: app.theme_cls.primary_color来统一项目视觉风格。
  • 不要重复导入同名称组件,避免出现命名冲突。

内容的提问来源于stack exchange,提问作者Zayn Naz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 11:57:00