How to change an image dynamically on a Kivy label

I want to change an image dynamically on a Kivy label. every time the variable increases a number the label should change the image in python

def mudaimagem(self):
    erros = self.qtd_erros
    if erros == 1:
        #Deve ser escrito aqui
        self.ids.box1.image = "erro1.png"

.kv

   StackLayout:
        Label:
            id: box1
            size_hint: .4,1
            font_size: '30sp'
            multiline: True
            color: 0,0,0,1
            canvas.before:
                Rectangle:
                    pos: self.pos
                    size: self.size
Author: Françoar Leite, 2019-02-18

1 answers

Lets you create a new ImageLabel class with the image property.

. py File:

class StackLayout(StackLayout):
    pass

class ImageLabel(Label):
    image = StringProperty()

class StackApp(App):
    def build(self):
        self.root = StackLayout()
        self.qtd_erros = 1
        self.mudaimagem()
        return self.root

    def mudaimagem(self):
        erros = self.qtd_erros
        if erros == 1:
            #Deve ser escrito aqui
            self.root.ids["box1"].image = "erro1.png"

File .kv:

<StackLayout>:
    ImageLabel:
        id: box1
        size_hint: .4,1
        font_size: '30sp'
        multiline: True
        color: 0,0,0,1
        canvas.before:
            Rectangle:
                pos: self.pos
                size: self.size
                source: self.image
 0
Author: tomasantunes, 2019-04-15 18:16:16