更新小部件Kivymd上的文本

时间:2020-05-26 15:24:45

标签: python python-3.x kivy kivy-language

通过主屏幕上的按钮打开对话框。在对话框中,当我按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

0 个答案:

没有答案