python - 将屏幕与 kivy 中的 GridLayout 类相关联

标签 python kivy

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

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

class MainScreen(Screen):
   ...

class MainLayout(GridLayout):
   ...

当 MainScreen 是事件屏幕时,我希望显示 MainLayout。

有没有办法完全在 python 中执行此操作(即没有标记)?谢谢。

最佳答案

Is there a way to do this purely in python (i.e. without markup)? Thank you.

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

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

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

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

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

<MyScreen>:
     GridLayout:
         ...

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

关于python - 将屏幕与 kivy 中的 GridLayout 类相关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18937360/

相关文章:

python - 如何在pyqtgraph中的一个轴上绘制两个barh?

python - 为什么右键单击会在圆圈中心创建一个橙色点?

python - 在 python 端动态调整 kivy 标签(和按钮)的大小

python - 安装 Kivy 时出现多个错误

python - 为什么Kivy ActionBar不能正常工作?

python - 如何检查不同的文件格式扩展名并接受有效的扩展名?

python - 将 pyspark 数据帧转换为标记点对象

python - 如何在 PyQt 中获取按钮或标签(QPushButton、QLabel)的背景颜色

python - 将字典存储在数据框中,该数据框在唯一值列中具有重复条目

Python PATH 中特殊字符编码问题