当您想要更改kvlang中的根屏幕管理器时,可以在任何屏幕中执行以下操作:
Button:
text: 'press me to change the screen of the root manager'
on_press: app.root.current = 'name_of_target_screen'如果此按钮位于由屏幕管理器管理的屏幕上,则可以执行以下操作:
Button:
text: 'press me to change the current screen'
on_press: root.manager.current = 'name_of_target_screen'但是,当您有这样一个嵌套的屏幕管理器时:
[Root screen manager]
[screen 1]
[screen 2]
[BoxLayout]
[sidescreen]
[button to change nested screen manager]
[nested screen manager]
[nested screen 1]
[nested screen 2]我不知道如何从侧屏幕中更改嵌套的屏幕管理器,因为我不知道如何引用它。有人知道吗?
一个最小的工作示例:http://pastebin.com/1i5Ysbu3
发布于 2016-02-11 17:38:55
将<ScreenTwo>中的嵌套屏幕管理器<ScreenTwo>设置为某些值,如id: nested_screenmanager,然后将其传递给按钮,如on_press: nested_screenmanager.current = 'SecondNested'。ids列表对于规则中的所有小部件都是可见的。
https://stackoverflow.com/questions/35346039
复制相似问题