Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Kivy:如何从kvlang中的任何屏幕中访问嵌套的screenmanager_Python_Kivy - Fatal编程技术网

Python Kivy:如何从kvlang中的任何屏幕中访问嵌套的screenmanager

Python Kivy:如何从kvlang中的任何屏幕中访问嵌套的screenmanager,python,kivy,Python,Kivy,当您想在kvlang中更改根screenmanager时,可以在任何屏幕中执行以下操作: 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 cu

当您想在kvlang中更改根screenmanager时,可以在任何屏幕中执行以下操作:

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]
我不知道如何从[sidescreen]中更改嵌套屏幕管理器,因为我不知道如何引用它。 有人知道吗

一个简单的工作示例:

中的嵌套屏幕管理器
id
设置为某个值,如
id:nested\u screenmanager
,然后将其传递给按钮,如按上的
:nested\u screenmanager.current='SecondNested'
ids
列表对规则中的所有小部件都可见。

太好了,我知道它很简单。我完全被名称/id/classname的混乱搞糊涂了。我的第一个错误是:不知道确切地使用哪个。我的第二个错误是:在
中定义它们,而不是
。我的第三个错误是,试图设置
root.nested\u screenmanager.current
,而不是像您建议的那样设置
nested\u screenmanager.current
。谢谢