Объект 'MDMenuItem' не имеет атрибута 'callback' в MDDropdownMenu - PullRequest
0 голосов
/ 14 октября 2019

Я пытаюсь внести изменения в текст метки через MDMenuItem и терпит неудачу хе-хе.

Вот что я пытаюсь:

.kv file

<MDMenuItem>:
    on_release: app.change_label(self.text)

MyLabel:
    id: unilabel
    text: app.label_weight
    font_size: 12.5
MDIconButton:
    id: unibutton
    icon: 'arrow-down-drop-circle'
    on_release: MDDropdownMenu(items=app.menu_labels_weight, width_mult=2).open(self)

main.py

class NoNameApp(App):
    label_weight = 'Label Text'

    menu_labels_weight = [
        {"viewclass": 'MDMenuItem',
         'text': 'g'},
        {"viewclass": 'MDMenuItem',
         'text': 'Kg'},
        {'viewclass': 'MDMenuItem',
         'text': 'ml'},
        {'viewclass': 'MDMenuItem',
         'text': 'L'},
        {'viewclass': 'MDMenuItem',
         'text': 'Unidade(s)'}
    ]


    def change_label(self, value):
        self.label_weight = value

Но тогда я получаю:

AttributeError: 'MDMenuItem' object has no attribute 'callback'

Я знаю, что теперь я должен поставить клавишу обратного вызова на диктовку "menu_label_weight", но когда я это сделаю, я не смогу вызвать функцию внутри своего класса App.

Может ли кто-нибудь помочь мне с лучшим ходом в этом случае?

...