我创建了一个ScreenManager,并为该ScreenManager创建了几个Screen实例。
我希望每个Screen都显示一个GridLayout类。例如,假设你有:
class MainScreen(Screen):
...
class MainLayout(GridLayout):
...
当MainScreen是活动屏幕时,我想要显示MainLayout。
有没有办法在python中完成这个(即没有标记)?谢谢。
答案 0 :(得分:3)
有没有办法在python中完成这个(即没有标记)?谢谢。
你从不需要使用kivy语言(我认为你的意思是标记),尽管强烈建议尽可能使用,因为它会让很多东西变得更容易。
尽管如此,要真正回答您的问题,您所要做的就是将您的gridlayout小部件添加到屏幕小部件中,例如
mainscreen = MainScreen()
mainlayout = MainLayout()
mainscreen.add_widget(mainlayout)
然后,当您将screenmanager中的当前屏幕设置为主屏幕时,您应该看到GridLayout。
编辑:如果不清楚,这通常是将窗口小部件添加到其他窗口小部件的方式。当你看到像
这样的kv语言的例子时<MyScreen>:
GridLayout:
...
...最终将其转换为与上述示例代码非常相似的内容 - 创建了一个MyScreen实例,并使用add_widget将GridLayout添加到其中。