Kivy verwendet häufig Variablen wie App und Root.
Verwenden Sie es beispielsweise wie folgt.
main.kv
<LargeImage>:
on_touch_down: app.changeScene() #Rufen Sie changeeScene von MainApp auf, wenn Widget berührt wird
Image:
allow_stretch: True
source: root.path
main.py
class LargeImage(Widget):
def __init__(self, path):
self.path = path
super(LargeImage, self).__init__()
class MainApp(App):
def build(self):
self.root = LargeImage()
return self.root
def changeScene(self, scene, opt = None):
pass
Zum Beispiel, wenn Sie die folgende Datei haben Die Wurzel des oberen Bildes ist LargeImage und die Wurzel des unteren Bildes ist SmallImage.
main.kv
<LargeImage>:
Image:
source: root.path
<SmallImage>:
Image:
source: root.path
Angenommen, Sie führen den folgenden Code auf der Seite der Python-Datei aus.
main.py
l_img = LargetImage()
l_img.add_widget(SmallImage()) #Fügen Sie SmallImage zu LargeImage hinzu
In diesem Fall bleibt der Stamm des SmallImage-Seitenbilds SmallImage. Durch Hinzufügen unter LargeImage wird root nicht in LargeImage geändert.
Wenn Sie von der SmallImage-Seite auf LargeImage zugreifen möchten, Verwenden Sie root.parent anstelle von root.
Umgekehrt beim Zugriff auf Small Image von der Seite Large Image Es kann mit root.children [0] zugegriffen werden.
Recommended Posts