将屏幕与kivy中的GridLayout类关联

时间:2013-09-21 20:36:48

标签: python kivy

我创建了一个ScreenManager,并为该ScreenManager创建了几个Screen实例。

我希望每个Screen都显示一个GridLayout类。例如,假设你有:

class MainScreen(Screen):
   ...

class MainLayout(GridLayout):
   ...

当MainScreen是活动屏幕时,我想要显示MainLayout。

有没有办法在python中完成这个(即没有标记)?谢谢。

1 个答案:

答案 0 :(得分:3)

  

有没有办法在python中完成这个(即没有标记)?谢谢。

你从不需要使用kivy语言(我认为你的意思是标记),尽管强烈建议尽可能使用,因为它会让很多东西变得更容易。

尽管如此,要真正回答您的问题,您所要做的就是将您的gridlayout小部件添加到屏幕小部件中,例如

mainscreen = MainScreen()
mainlayout = MainLayout()
mainscreen.add_widget(mainlayout)

然后,当您将screenmanager中的当前屏幕设置为主屏幕时,您应该看到GridLayout。

编辑:如果不清楚,这通常是将窗口小部件添加到其他窗口小部件的方式。当你看到像

这样的kv语言的例子时
<MyScreen>:
     GridLayout:
         ...

...最终将其转换为与上述示例代码非常相似的内容 - 创建了一个MyScreen实例,并使用add_widget将GridLayout添加到其中。