Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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
初始化Kivy屏幕的正确方法是什么?_Kivy - Fatal编程技术网

初始化Kivy屏幕的正确方法是什么?

初始化Kivy屏幕的正确方法是什么?,kivy,Kivy,我正在使用一个.kv文件的Kivy。这就是我的Python代码的样子: class WelconeScreen(Screen): def __init__(self, **kwargs): self.name='home' super(Screen,self).__init__(**kwargs) class QuestionScreen(Screen): def __init__(self, **kwargs): self.na

我正在使用一个.kv文件的Kivy。这就是我的Python代码的样子:

class WelconeScreen(Screen):
    def __init__(self, **kwargs):
        self.name='home'
        super(Screen,self).__init__(**kwargs)

class QuestionScreen(Screen):
    def __init__(self, **kwargs):
        self.name='question'
        super(Screen,self).__init__(**kwargs)

class RootScreen(ScreenManager):
    pass

class TestApp(App):
   def build(self):
        return RootScreen()

if __name__ == '__main__':
    appVar = TestApp()
    TestApp().run()
这是我的.kv文件:

<RootScreen>:
    WelcomeScreen:
    QuestionScreen:

<WelcomeScreen>:
    Button:
        text: 'Download DB'
<QuestionScreen>:
    BoxLayout:
        Button:
            text: 'My settings button'
        Button:
            text: 'Back to menu'
            on_press: root.manager.current = 'home'
:
欢迎光临:
问题屏幕:
:
按钮:
文本:“下载数据库”
:
盒子布局:
按钮:
文本:“我的设置按钮”
按钮:
文本:“返回菜单”
按:root.manager.current='home'

这是用Kivy初始化屏幕的正确方法吗?这是可行的,但我不确定构造函数是否是正确的方法。

name
是一个kivy属性,因此您可能希望在调用super之后而不是之前初始化它

您也可以将其设置为kv,这样您就不必仅为此定义
\uuuu init\uuuu

<WelcomeScreen>:
    name: 'home'
    Button:
        text: 'Download DB'
:
姓名:“家”
按钮:
文本:“下载数据库”
你写: WelconeScreen类

但它是:
类WelcomeScreen

这正是我想要的:在.kv文件中初始化屏幕。非常感谢。