Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Kivy错误:没有名称为的屏幕_Python_Kivy_Kivy Language - Fatal编程技术网

Python Kivy错误:没有名称为的屏幕

Python Kivy错误:没有名称为的屏幕,python,kivy,kivy-language,Python,Kivy,Kivy Language,我在Kivy Screen Manager中设置了一个屏幕(myScreen只是一个继承Screen的类) 我还设置了第二个屏幕: class secondScreen(myScreen): def __init__(self,**kwargs): super(secondScreen, self).__init__(**kwargs) self.name = "second" 然后我设置了我的屏幕管理器: sm = ScreenManager() sm

我在Kivy Screen Manager中设置了一个屏幕(myScreen只是一个继承Screen的类)

我还设置了第二个屏幕:

class secondScreen(myScreen):
    def __init__(self,**kwargs):
        super(secondScreen, self).__init__(**kwargs)
        self.name = "second"
然后我设置了我的屏幕管理器:

sm = ScreenManager()
sm.add_widget(firstScreen())
sm.add_widget(secondScreen())
以下是开关屏幕的代码:

def switchScreens(next):
    sm.current = next
运行sm时,出现以下错误:

kivy.uix.screenmanager.ScreenManagerException:没有名为“second”的屏幕

这对我来说似乎是错误的,因为我在sm中添加了secondScreen(),名称为“second”


如何让firstScreen上的按钮正确地将应用程序发送到secondScreen?

在此处定义名称,而不是屏幕类别:

sm = ScreenManager()
sm.add_widget(firstScreen())
sm.add_widget(secondScreen())
以上内容应为:

sm = ScreenManager()
sm.add_widget(firstScreen(name="first"))
sm.add_widget(secondScreen(name="second"))
sm = ScreenManager()
sm.add_widget(firstScreen(name="first"))
sm.add_widget(secondScreen(name="second"))