要绑定KivyMD的MDDropDownMenu的按钮,你可以使用下面的代码示例:
from kivy.lang import Builder
from kivymd.app import MDApp
KV = '''
MDScreen:
MDDropDownItem:
id: dropdown_item
pos_hint: {'center_x': 0.5, 'center_y': 0.5}
on_release: app.show_dropdown_menu(self)
'''
class TestApp(MDApp):
def build(self):
self.screen = Builder.load_string(KV)
return self.screen
def show_dropdown_menu(self, instance):
menu_items = [
{"viewclass": "MDMenuItem",
"text": "Option 1",
"callback": self.menu_item_selected},
{"viewclass": "MDMenuItem",
"text": "Option 2",
"callback": self.menu_item_selected},
{"viewclass": "MDMenuItem",
"text": "Option 3",
"callback": self.menu_item_selected},
]
self.screen.ids.dropdown_menu.set_items(menu_items)
self.screen.ids.dropdown_menu.open(instance)
def menu_item_selected(self, instance):
print(instance.text)
TestApp().run()
在上面的代码中,我们首先导入了所需的库和模块。然后,我们定义了一个包含MDDropDownItem的屏幕,并在按钮的on_release
事件中调用了show_dropdown_menu
方法。
show_dropdown_menu
方法首先定义了一个包含菜单项的列表。然后,我们使用set_items
方法将菜单项设置到dropdown_menu
中,并使用open
方法打开菜单。
最后,我们定义了一个menu_item_selected
方法,用于在菜单项被选中时执行操作。在这个示例中,我们只是简单地打印出被选中的菜单项的文本。
希望这个示例能帮助你绑定KivyMD的MDDropDownMenu的按钮。
上一篇:绑定可为空的参数