我试图通过以下代码在我的kv文件中获取对MDDropwdownMenu
的选择
MDRaisedButton
在我的 MDRaisedButton:
id: select_warning_image_Button
text: "Menu labels"
opposite_colors: True
elevation_normal: 0
on_release: MDDropdownMenu(items=app.menu_labels, width_mult=4).open(self)
中(见下文),我有一个名为main.py
的类,该类继承自MainApp
。在此类中,我创建了属性变量App
。我想使用函数menu_labels
将变量change_variable
的值设置为菜单的值。但是我似乎无法使用self.change_variable(...)。在下拉列表中选择特定值后,是否有一个值可以触发函数?
VARIABLE
答案 0 :(得分:3)
在输出中,选择了json()
。有关详细信息,请参见代码段,示例和输出。
Label2
添加类别规则<MDMenuItem>:
事件以调用App类中的on_release
方法并将change_variable()
传递给它。self.text
<MDMenuItem>:
on_release: app.change_variable(self.text)
from kivy.app import App
from kivymd.theming import ThemeManager
class MainApp(App):
title = "KivyMD MDDropdownMenu Demo"
theme_cls = ThemeManager()
VARIABLE = ""
menu_labels = [
{"viewclass": "MDMenuItem",
"text": "Label1"},
{"viewclass": "MDMenuItem",
"text": "Label2"},
]
def change_variable(self, value):
print("\nvalue=", value)
self.VARIABLE = value
print("\tself.VARIABLE=", self.VARIABLE)
if __name__ == "__main__":
MainApp().run()