【问题标题】:Associating Screens with GridLayout classes in kivy将屏幕与 kivy 中的 GridLayout 类相关联
【发布时间】:2013-09-21 20:36:48
【问题描述】:

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

我希望每个屏幕都显示一个 GridLayout 类。例如,假设您有:

class MainScreen(Screen):
   ...

class MainLayout(GridLayout):
   ...

当 MainScreen 是活动屏幕时,我希望显示 MainLayout。

有没有办法纯粹在 python 中做到这一点(即没有标记)?谢谢。

【问题讨论】:

    标签: python kivy


    【解决方案1】:

    有没有办法纯粹在 python 中做到这一点(即没有标记)?谢谢。

    您永远不需要使用 kivy 语言(我假设这就是您所说的标记的意思),但强烈建议尽可能使用它,因为它使很多事情变得更容易。

    不过,要真正回答您的问题,您只需将 gridlayout 小部件添加到屏幕小部件,例如

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

    然后,当您在屏幕管理器中将当前屏幕设置为主屏幕时,您应该会看到 GridLayout。

    编辑:如果不清楚,这通常是您将小部件添加到其他小部件的方式。当你看到一个 kv 语言的例子时,比如

    <MyScreen>:
         GridLayout:
             ...
    

    ...最终,它被翻译成与上面的示例代码非常相似的东西——创建了一个 MyScreen 的实例,并使用 add_widget 向其中添加了一个 GridLayout。

    【讨论】:

    • 完美运行!谢谢。
    猜你喜欢
    • 2023-02-04
    • 2019-12-15
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    • 2018-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多