KIVYMD应用中TopAppBar与BottomAppBar图标无法显示问题求助
解决KivyMD工具栏图标不显示问题
问题根源
- 顶部栏图标设置错误:
MDTopAppBar的icon属性仅在type='bottom'时生效,顶部栏需通过left_action_items/right_action_items添加图标。 - 图标名称无效:你使用的
git图标在当前KivyMD关联的Material Icons库中不存在(或未被支持),导致无法渲染。
修复方案
1. 修正顶部栏图标添加方式
将git相关图标加入left_action_items或right_action_items列表,而非直接设置icon属性。
2. 使用Material Icons中存在的图标名
替换git为有效图标名,比如git-commit、source-branch(可在Material Icons官网确认)。
修复后的完整代码
KV文件
MDBoxLayout: orientation: 'vertical' MDTopAppBar: title: "Our Top Toolbar" left_action_items: [["menu"], ["git-commit"]] right_action_items: [["dots-vertical"]] MDLabel: id: my_label text: "Some Stuff" halign: "center" MDBottomAppBar: MDTopAppBar: icon: 'git-commit' type: 'bottom' mode: 'center'
Python文件
from kivy.app import App from kivy.uix.widget import Widget from kivy.properties import ObjectProperty from kivy.lang import Builder from kivymd.app import MDApp from kivy.core.window import Window from kivymd.uix.toolbar import MDTopAppBar from kivymd.uix.boxlayout import MDBoxLayout from kivymd.uix.navigationdrawer import MDNavigationLayout, MDNavigationDrawer from kivymd.uix.screen import MDScreen from kivymd.uix.screenmanager import MDScreenManager Window.size = (400, 600) class MahApp(MDApp): def build(self): self.theme_cls.theme_style = "Dark" self.theme_cls.primary_palette = "Indigo" return Builder.load_file('my.kv') MahApp().run()
额外建议
- 若图标仍不显示,升级KivyMD到最新版:
pip install --upgrade kivymd - 所有图标名必须与Material Icons官网的名称完全一致,区分大小写。
内容的提问来源于stack exchange,提问作者hammer
相关产品推荐
相关产品推荐

