因此,我对kivy还是陌生的,我正在尝试制作一个显示图像的结果屏幕。按下按钮应更改该图像。我认为通过更改图像的来源,它应该更新,但不是。这是我的主要代码中最相关的部分:
class ResultScreen(Screen, BoxLayout):
car_list = ObjectProperty(None)
source_image_list = ['Data/file01.png', 'Data/file02.png']
i = 0
source_image = source_image_list[i]
def increase(self):
self.i += 1
self.source_image = self.source_image_list[self.i]
print(self.source_image)
class Manager(ScreenManager):
main_screen = ObjectProperty(None)
loading_screen = ObjectProperty(None)
results_screen = ObjectProperty(None)
class MainApp(App):
def build(self):
m = Manager(transition=NoTransition())
return m
if __name__ == "__main__":
Window.clearcolor = (.46875, .46875, .4765, 1)
Window.size = (850, 1000)
MainApp().run()
这是我的.kv文件的一部分:
<Manager>:
id: screen_manager
ResultScreen:
id: resultsS
name: "Results Screen"
manager: screen_manager
<ResultScreen>
orientation: "vertical"
padding: 10
spacing: 10
source_image: self.source_image
FloatLayout:
Button:
text: "Done"
on_press: root.increase()
size_hint: 0.3, 0.1
pos: root.x + 300, root.top - root.height
Image:
size_hint: 0.5, 0.5
source: root.source_image
pos: root.center_x - (self.width/2), root.center_y - (self.height/4)
启动应用程序时,我按下按钮,然后加载“ file01.png”。但是当我按下按钮时,没有任何变化。我唯一看到的是控制台中的source_image路径已更改。我不明白为什么未使用新来源重新加载图片。我究竟做错了什么??请帮我!!