首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kivy:如何从kvlang的任意屏幕中访问嵌套的屏幕管理器

Kivy:如何从kvlang的任意屏幕中访问嵌套的屏幕管理器
EN

Stack Overflow用户
提问于 2016-02-11 17:25:41
回答 1查看 946关注 0票数 6

当您想要更改kvlang中的根屏幕管理器时,可以在任何屏幕中执行以下操作:

代码语言:javascript
复制
Button:
    text: 'press me to change the screen of the root manager'
    on_press: app.root.current = 'name_of_target_screen'

如果此按钮位于由屏幕管理器管理的屏幕上,则可以执行以下操作:

代码语言:javascript
复制
Button:
    text: 'press me to change the current screen'
    on_press: root.manager.current = 'name_of_target_screen'

但是,当您有这样一个嵌套的屏幕管理器时:

代码语言:javascript
复制
[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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-11 17:38:55

<ScreenTwo>中的嵌套屏幕管理器<ScreenTwo>设置为某些值,如id: nested_screenmanager,然后将其传递给按钮,如on_press: nested_screenmanager.current = 'SecondNested'ids列表对于规则中的所有小部件都是可见的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35346039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档