Kivy: How to access nested screenmanager from any screen in kvlang

If you want to change the root screenmanager in kvlang, you can do the following from any screen:

Button:
    text: 'press me to change the screen of the root manager'
    on_press: app.root.current = 'name_of_target_screen'

Or you can do the following if this button is on a screen controlled by a screen manager:

Button:
    text: 'press me to change the current screen'
    on_press: root.manager.current = 'name_of_target_screen'

However, when you have a nested screen manager, for example:

[Root screen manager]
     [screen 1]
     [screen 2]
       [BoxLayout]
          [sidescreen]
              [button to change nested screen manager]
          [nested screen manager]
              [nested screen 1]
              [nested screen 2]

I don’t know how to change the nested screen manager from [sidecreen], because I don’t know how to link it. Somebody knows?

Minimum working example: http://pastebin.com/1i5Ysbu3

+4
source share
1 answer

screenmanager id <ScreenTwo> , id: nested_screenmanager, , on_press: nested_screenmanager.current = 'SecondNested'. ids .

+1

Source: https://habr.com/ru/post/1628358/


All Articles