Выпадающий Kivymd закрывается сразу после открытия - PullRequest
0 голосов
/ 07 февраля 2020

Я пытаюсь добавить выпадающий список, используя файл 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')

1 Ответ

0 голосов
/ 07 февраля 2020

Если вы говорите о 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
        ]
...