2017-09-18 86 views
0

我是kivy新手,試圖理解kivy語言背後的概念。我嘗試使用一個按鈕來改變其點擊後的背景圖片。隨着我當前的代碼,我沒有錯誤,但如果我嘗試點擊該按鈕不會做任何事情......更新畫布圖片

這是我的代碼:

<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() 

我需要做些什麼才能讓我的按鈕顯示新圖片?

回答

1

此行

self.ids.my_picture = 'newPicture.png' 

只是改變

self.my_picture = 'newPicture.png' 

您正在訪問屬性不是ID。