我已经能够加载此示例(在布局内切换屏幕管理器(
我不清楚的是,如何让 kv 文件最底部的按钮在屏幕管理器中加载屏幕,因为它们超出了 SM 的范围。
在上述帖子的底部,发起人发布了"固定"示例代码,但底部的按钮似乎没有任何功能。
我习惯于在标准屏幕管理器布局中工作的以下语法,但在这种情况下,我收到以下错误并丢失了:
Button: text: 'New Session' on_press: root.manager.current = 'newSession' AttributeError: 'AllScreen' object has no attribute 'manager'
我上面引用的例子似乎正是我希望实现的......一次定义的按钮菜单区域,用于控制SM的屏幕显示。我希望避免在每个所需屏幕的 kivy 文件中定义大量冗余按钮代码。
您可以在kv
的ClassAllScreen
规则中向ScreenManagement
实例添加id
,并在Button
规则中使用该id
:
<ClassAllScreen>:
orientation:'vertical'
ScreenManagement:
id: manager
BoxLayout:
.
.
.
Button:
text: 'New Session'
on_press: manager.current = 'newSession'