下拉菜单 KivyMD 未打开

Posted

技术标签:

【中文标题】下拉菜单 KivyMD 未打开【英文标题】:dropdown menu KivyMD not opening 【发布时间】:2021-10-05 20:42:08 【问题描述】:

当我尝试打开下拉菜单时,python 代码没有任何反应:

from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout
from kivymd.app import MDApp
from kivymd.uix.menu import MDDropdownMenu
from kivy.properties import ObjectProperty


class app(MDApp):
    dropdown = ObjectProperty
    
    def print(self):
        print("pressed!")
    
    def on_start(self):
        self.dropdown = MDDropdownMenu()

        self.dropdown.items.append("viewclass":"MDMenuItem","text":"Option 1")
    
    def build(self):
        return Builder.load_file("main.kv")
    


app().run()

这是 .kv 文件:

MDBoxLayout:
    orientation: "vertical"

    MDToolbar:
        title: "MDToolbar"
        left_action_items: [["menu", lambda x: app.dropdown.open()]]


    MDLabel:
        text: "Content"
        halign: "center"

我希望知道自己在做什么的人可以帮助我,因为我需要它。 提前谢谢你。

【问题讨论】:

【参考方案1】:

我相信您必须为MDDropdownMenu 提供一个caller,用于定位MDDropdownMenu。如果您在 kv 中为MDToolBar 添加id

MDToolbar:
    id: toolbar
    title: "MDToolbar"
    left_action_items: [["menu", lambda x: app.dropdown.open()]]

然后您可以像这样提供caller

    self.dropdown = MDDropdownMenu(caller=self.root.ids.toolbar.ids.left_actions)

【讨论】:

它对你有用吗@John Anderson,因为它对我不起作用

以上是关于下拉菜单 KivyMD 未打开的主要内容,如果未能解决你的问题,请参考以下文章

kivymd:如何在下拉菜单中添加图标?

kivyMD:如何使用工具栏操作项创建下拉菜单?

如何在 KivyMD、Python 中制作下拉菜单

KivyMD 带有下拉菜单的文本字段

单击按钮时引导下拉菜单未打开

导航栏中的引导下拉菜单未打开