【问题标题】:Kivymd dropdown closes immediately after openingKivymd 下拉菜单在打开后立即关闭
【发布时间】:2020-05-23 19:42:34
【问题描述】:

我正在尝试使用 kv 文件添加下拉列表。我已经设法创建了它,但是当我单击它时,下拉菜单会立即打开并关闭,而无需我选择或单击任何地方

我该如何阻止这个

Button:
    id: btn
    text: 'Press'
    on_release: 
        if not root.state: dropdown.open(self); root.state = False
        else: dropdown.dismiss(); root.state = False
    size_hint: 0.2,0.05
    height: '48dp'


DropDown:

    id: dropdown
    on_parent: self.dismiss()
    on_select: btn.text = '{}'.format(args[1]); root.state = False

    Button:
        text: 'First Item'
        size_hint_y: None
        height: '48dp'
        on_release: dropdown.select('First Item')

    Label:
        text: 'Second Item'
        size_hint_y: None
        height: '48dp'

    Button:
        text: 'Third Item'
        size_hint_y: None
        height: '48dp'
        on_release: dropdown.select('Third Item')

【问题讨论】:

  • 您可以添加一些代码,以便我们尝试提供帮助
  • 您似乎希望我们为您编写一些代码。虽然许多用户愿意为陷入困境的编码人员编写代码,但他们通常只有在发布者已经尝试自己解决问题时才会提供帮助。展示这项工作的一个好方法是包含您迄今为止编写的代码、示例输入(如果有的话)、预期输出和您实际获得的输出(控制台输出、回溯等)。您提供的详细信息越多,您可能收到的答案就越多。检查FAQHow to Ask
  • on_parent: self.dismiss() 打算做什么?
  • 我正在做一个项目,我得到了那个代码,但是当我删除它时,即使没有按下父按钮,下拉菜单也会打开。当我点击外部时它会关闭,然后父按钮开始按预期正常工作

标签: drop-down-menu kivy spinner dropdown dismiss


【解决方案1】:

如果您在谈论 MDDropDownMenu - 它以另一种方式工作并接受按钮的字典列表。示例如下:

在kv文件中:

                MDRaisedButton:
                    text: app.groupstrace
                    size_hint_x: 0.15
                    # here you call drop down menu:
                    on_release: MDDropdownMenu(items=app.groupsdict, width_mult=3, background_color=[1,0.5,0,1]).open(self)
                    md_bg_color: [1,0.5,0,1]

在 .py 文件中:

groupsdict = [
            {
                "viewclass": "MDMenuItem",
                "text": "Yourtext",
                # no parentheses after function name!
                "callback": self.function1,
            },
            {
                "viewclass": "MDMenuItem",
                "text": "Yourtext",
                # in case you want label, just don't set a callback
                "callback": None,
            }
            # and so on
        ]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-05
    • 2011-10-23
    • 1970-01-01
    • 2022-01-05
    • 2020-02-11
    • 2020-08-11
    • 2019-09-19
    • 2022-01-05
    相关资源
    最近更新 更多