2017-09-18 2 views
0

Je suis novice en kivy et j'essaie de comprendre le concept de la langue kivy. J'essaye d'avoir un bouton qui change son image de fond sur le clic. Avec mon code actuel, je reçois pas d'erreur, mais le bouton ne fait rien si je tente de cliquer dessus ...Mise à jour des photos sur toile

Ceci est mon code:

<ScatterTextWidget>: 
orientation: 'vertical' 
my_picture: 'picture.png' 
Button: 
    id: b1 
    canvas.after: 
     Rectangle: 
      id: m_r 
      source: root.my_picture 
      pos: self.pos 
      size: self.size 
    on_release: root.nextPicture() 

py:

from kivy.app import App 

from kivy.uix.button import Button 
from kivy.uix.floatlayout import FloatLayout 

class ScatterTextWidget(FloatLayout): 

    def nextPicture(self): 
     self.ids.my_picture = 'newPicture.png' 
     self.canvas.ask_update() 
     return 

class GuiApp(App): 
    def build(self): 
     return ScatterTextWidget() 

if __name__ == "__main__": 
    GuiApp().run() 

Que dois-je faire pour que mon bouton affiche la nouvelle image?

Répondre

1

changer juste cette ligne

self.ids.my_picture = 'newPicture.png' 

à

self.my_picture = 'newPicture.png' 

Vous accédez à une propriété non un identifiant.