初始化Kivy屏幕的正确方法是什么?
我正在使用一个.kv文件的Kivy。这就是我的Python代码的样子:初始化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
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文件中初始化屏幕。非常感谢。