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

KIVYMD应用中TopAppBar与BottomAppBar图标无法显示问题求助

解决KivyMD工具栏图标不显示问题

问题根源

  1. 顶部栏图标设置错误:MDTopAppBar的icon属性仅在type='bottom'时生效,顶部栏需通过left_action_items/right_action_items添加图标。
  2. 图标名称无效:你使用的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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 22:05:36