Python App.get_running_App().root.my_method()-';非类型';对象没有属性';我的方法()
按下按钮后,我尝试调用Screenmanager上的函数。但是对(App.get_running_App().root.)的调用没有为我获取对象 这些按钮对我不起作用,我也不知道为什么。 似乎有一个问题,我没有根对象,但为什么。在我试着用仪表板之前,它就起作用了 我尝试过包含ScreenManager类中我无法调用的方法 并从Dashboard类中调用方法,该类起作用 python文件:Python App.get_running_App().root.my_method()-';非类型';对象没有属性';我的方法(),python,kivy,dashboard,Python,Kivy,Dashboard,按下按钮后,我尝试调用Screenmanager上的函数。但是对(App.get_running_App().root.)的调用没有为我获取对象 这些按钮对我不起作用,我也不知道为什么。 似乎有一个问题,我没有根对象,但为什么。在我试着用仪表板之前,它就起作用了 我尝试过包含ScreenManager类中我无法调用的方法 并从Dashboard类中调用方法,该类起作用 python文件: from kivy.uix.screenmanager import ScreenManager, Scre
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:“非类型”对象没有属性
'获取字符选择屏幕'
缩进可能会出错,因为我试图将其上载到此处。尝试使用时钟安排缩进,以便您确定应用程序和小部件已准备就绪
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.app import App
from kivy.clock import Clock
class DashboardScreen(Screen):
def __init__(self, **kwargs):
super(DashboardScreen, self).__init__(**kwargs)
Clock.schedule_once(self.after_init)
def after_init(self, dt):
App.get_running_app().root.get_character_selection_screen()
试着用时钟来安排,这样你就可以确定应用程序和小部件已经准备好了
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.app import App
from kivy.clock import Clock
class DashboardScreen(Screen):
def __init__(self, **kwargs):
super(DashboardScreen, self).__init__(**kwargs)
Clock.schedule_once(self.after_init)
def after_init(self, dt):
App.get_running_app().root.get_character_selection_screen()
你是一个天才,非常感谢你,这真的帮助了我。“我永远也猜不到这一点。”内贝勒:没问题。也许你可以接受这个答案,除非你需要别的东西。@Nebelherr:D你总有一天会明白的。对不起,这是很明显的。现在我明白了。你是个天才,非常感谢你,这真的帮助了我。“我永远也猜不到这一点。”内贝勒:没问题。也许你可以接受这个答案,除非你需要别的东西。@Nebelherr:D你总有一天会明白的。对不起,这是很明显的。现在我明白了。