Я пытаюсь внести изменения в текст метки через 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.
Может ли кто-нибудь помочь мне с лучшим ходом в этом случае?