我在 KivyMD 的屏幕上有一个 MDTextField。所需的过程是在 TextField 的 on_focus 事件上打开 MDDropDownMenu。此外,一旦您选择了 DropDownMenu 的某个元素,此类菜单将被关闭,并且所选文本将被添加到 MDTextField 中。
我成功地编码了该过程的第一部分。尽管如此,我似乎无法正确地绑定按钮。我没有收到错误消息,但似乎从未调用绑定函数。
这是我的 Kivy 代码:
<TravelManagerWindow>:
MDTextField:
id: dest_dropdown_item
pos_hint: {"x":0, 'center_y': 0.5}
write_tab: False
size_hint: 1, None
icon_right: 'arrow-down-drop-circle-outline'
text:'Seleccionar'
on_focus: if self.focus: root.display_dropdown()
这是我的Python代码:
class TravelManagerWindow(Screen):
def display_dropdown(self):
# Create the drop down menu
menu_items = [{"text": f"Item {i}"} for i in range(5)]
self.menu = MDDropdownMenu(
caller=self.ids.dest_dropdown_item,
items=menu_items,
width_mult=4,
)
self.menu.open()
self.menu.bind(on_release=self.set_item)
def set_item(self, instance_menu, instance_menu_item):
def set_item(interval):
self.ids.dest_dropdown_item.text = instance_menu_item.text
instance_menu.dismiss()
Clock.schedule_once(set_item, 0.5)
我相信 set_item 函数甚至没有被调用,但是,menu.open() 确实正确触发。
有什么建议么?
预先非常感谢。
qq_遁去的一_1
呼唤远方
守着一只汪
相关分类