如何在kivy PYTHON中按下按钮来更新图像

时间:2019-02-09 15:50:41

标签: python kivy kivy-language

因此,我对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路径已更改。我不明白为什么未使用新来源重新加载图片。我究竟做错了什么??请帮我!!

0 个答案:

没有答案