Я пытаюсь вызвать функцию на моем Screenmanager после нажатия кнопки. Но вызов (App.get_running_app (). Root.) Не дает мне объект.
Кнопки не будут работать для меня, и я не знаю почему.
Кажется, есть проблема, что у меня нет корневого объекта, но почему. Это работало до того, как я попробовал это с приборной панелью.
Я попытался включить методы из класса ScreenManager, которые я не мог вызвать
и вызывать методы из класса Dashboard, функции которого.
Python файл:
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.app import App
class DashboardScreen(Screen):
def __init__(self, **kwargs):
super(DashboardScreen, self).__init__(**kwargs)
# Initialize Target Container
App.get_running_app().root.get_character_selection_screen()
class MyScreenManager(ScreenManager):
def __init__(self, **kwargs):
super(MyScreenManager, self).__init__(**kwargs)
self.add_widget(DashboardScreen(name='dashboard'))
def get_character_selection_screen(self):
pass
class MatrixApp(App):
def build(self):
return MyScreenManager()
if __name__ == '__main__':
MatrixApp().run()
Файл Kivy:
<DashboardScreen>:
BoxLayout:
orientation: "vertical"
Label:
text: "test"
Сообщение об ошибке
AttributeError: у объекта 'NoneType' нет атрибута
'Get_character_selection_screen'
Отступы могут быть испорчены, потому что я пытался загрузить их здесь.