Обновление текста на виджете Kivymd - PullRequest
0 голосов
/ 26 мая 2020

Диалоговое окно открывается кнопкой на главном экране. В диалоговом окне, когда я нажимаю кнопку OK, значение на дисплее будет отправлено другой функции, а диалоговое окно закроется и вернется на главный экран. Но проблема в том, что когда я снова открываю диалоговое окно, значение на дисплее все еще показывает последнее значение и одновременно показывает значение по умолчанию. Как исправить?

Вот мой код?

.py

    def dialog_close(self, *args):
        self.dialog.dismiss()

    def show_dialog(self, *args, cart, nameitem, priceitem):
        self.item = OneLineAvatarIconListItem(text="0",size_hint=(.5, None))
        licon = IconLeftWidget(icon="minus", on_press=partial(self.plusminus, amount=-1))
        self.item.add_widget(licon)
        ricon = IconRightWidget(icon="plus", on_press=partial(self.plusminus, amount=1))
        self.item.add_widget(ricon)
        if not self.dialog:
            self.dialog = MDDialog(title="How many do you want to buy?\n"+nameitem,size_hint=(.6,.9),buttons[MDFlatButton(text="CANCEL"),MDFlatButton(text="OK",on_press=partial(self.addto_cart,cart=cart,nameitem=nameitem,priceitem=priceitem))])
        self.dialog.add_widget(self.item)
        self.dialog.open()
    def plusminus(self,*args,amount):
        if int(self.item.text)<=7 and int(self.item.text)>0 and amount==-1:
            self.item.text=str(int(self.item.text)+amount)
        elif int(self.item.text)<7 and int(self.item.text)>=0 and amount==1:
            self.item.text=str(int(self.item.text)+amount)

enter image description here

...