Función de llamada en una clase diferente a través del botón Kivy

Estoy tratando de llamar a una función presionando el botón en kivy, que se encuentra en una pantalla de clase diferente a la que se encuentra el botón. Intenté ejecutar la función en la clase de la aplicación también y tuve problemas allí. Aquí está la clase donde se encuentra la función que estoy tratando de llamar:

# Main screen with button layout class LandingScreen(Screen): def __init__(self, **kwargs): super(LandingScreen, self).__init__(**kwargs) self.buttons = [] # add references to all buttons here Clock.schedule_once(self._finish_init) def ChangePic(self): self.buttons[1].background_normal = 'folder.png' 

Y aquí está el botón con el que trato de llamarlo:

 : name: 'input_sc' FloatLayout: size: 800, 480 id: anchor_1 Label: text: "What would you like to bind to this button?" size_hint: (1,.15) text_size: self.size pos_hint: {'x': 0.11, 'top': 1} font_size: 28 font_name: 'Montserrat-Bold.ttf' Button: root: 'landing_sc' id: filebutton size: 150, 150 size_hint: None, None background_normal: 'folder.png' background_down: 'opacity.png' pos_hint: {'x': 0.11, 'top': .7} on_release: root.manager.transition = FadeTransition() root.manager.transition.duration = 1.5 app.MakeFolder() root.IfFolder() root.ChangeToSlide() 

¿Con qué debo tener el prefijo ChangePic () para poder llamar desde esta ubicación?

Alternativamente, ¿hay una manera de trabajar fácilmente con los botones dentro de la clase LandingScreen desde el interior de la clase InputScreen?

¡Gracias!

Puedes crear una variable en tu clase de aplicación:

 some_variable = LandingScreen() 

y luego en tu botón, llama a ChangePic () así:

 on_release: app.some_variable.ChangePic() 

Además, esto puede ayudarlo a usted: StackOverflow , Grupo de Google de Kivy , Introducción a las propiedades