簡體   English   中英

Kivy:如何從kvlang的任何屏幕中訪問嵌套的screenmanager

[英]Kivy: How to access a nested screenmanager from within any screen in kvlang

如果要在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]

我不知道如何從[sidescreen]中更改嵌套屏幕管理器,因為我不知道如何引用它。 有人知道嗎?

最小的工作示例: http//pastebin.com/1i5Ysbu3

<ScreenTwo>的嵌套screenmanager id設置為某個值,如id: nested_screenmanager ,然后將其傳遞給按鈕,如on_press: nested_screenmanager.current = 'SecondNested' ids列表對規則中的所有小部件都是可見的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM