Я хочу получить доступ к источнику моего изображения, указав его идентификатор. Когда я пробую использовать этот способ без использования ScreenManager, он работает нормально, но с использованием ScreenManager выдает следующее сообщение об ошибке:
AttributeError: объект 'kivy.properties.ObjectProperty' не имеет атрибута 'source'
Итак, вы знаете, как получить доступ к моему изображению с помощью ScreenManager?
Python код:
from kivy.app import App
from kivy.properties import ObjectProperty
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.image import Image
class MainWindow(Screen):
img1 = ObjectProperty(None)
def __init__(self, **kwargs):
super(MainWindow, self).__init__(**kwargs)
self.print_image()
def print_image(self):
print(self.img1)
class SecondWindow(Screen):
pass
class WindowManager(ScreenManager):
pass
Gui = Builder.load_file("my.kv")
class MyApp(App):
def build(self):
return Gui
if __name__ == "__main__":
MyApp().run()
кв код:
WindowManager:
MainWindow:
SecondWindow:
<MainWindow>:
name: "main"
img1: img1
Button:
id: b1
text: "Submit"
Image:
id: img1
source: "IMG_8681.jpg"
<SecondWindow>:
name: "second"
Button:
text: "Go Back"
on_release:
app.root.current = "main"
root.manager.transition.direction = "right"
Заранее большое спасибо!