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

KivyMD下拉菜单如何添加左侧图标?现有代码图标不显示如何解决

解决KivyMD下拉菜单左侧图标不显示的问题

你的代码存在两处配置错误:

  • 菜单项目配置中使用了不存在的键IconleftWidget,属于无效配置
  • 没有使用正确的left_icon参数指定左侧图标

修改后的完整可运行代码如下:

from kivy.lang import Builder
from kivy.metrics import dp
from kivymd.app import MDApp
from kivymd.uix.menu import MDDropdownMenu

KV = '''
MDScreen:
    MDDropDownItem:
        id: drop_item
        pos_hint: {'center_x': .5, 'center_y': .5}
        text: 'Select'
        on_release: app.menu.open()
'''

class Test(MDApp):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.screen = Builder.load_string(KV)
        d_items = ['item-1',"item-2","item-3"]
        menu_items = [
            {
                "viewclass": "OneLineIconListItem",
                "text": i,
                "height": dp(40),
                "on_release": lambda x=i: self.set_item(x),
                "left_icon": "account"
            } for i in d_items
        ]
        self.menu = MDDropdownMenu(
            caller=self.screen.ids.drop_item,
            items=menu_items,
            position="center",
            width_mult=2.3,
        )

    def set_item(self, text_item):
        self.screen.ids.drop_item.text=text_item
        self.menu.dismiss()

    def build(self):
        return self.screen

Test().run()

修改逻辑说明:删除了无效的IconleftWidget和错误的icon参数,替换为正确的left_icon参数指定图标名称,运行后即可正常显示每个菜单项左侧的account图标。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 03:57:04