【问题标题】:Accessing the parent of a root widget - kivy访问根小部件的父级 - kivy
【发布时间】:2015-07-03 09:13:33
【问题描述】:

我有很多代码与这个问题无关,所以我将解释我的小部件树是如何构造的。

我有两个屏幕和不同的布局、按钮和小部件。基本上是这样的:

ScreenManager:
    Screen1: 
    Screen2: 
        FloatLayout:
            Button1
            Button2
            Button3
            Widget1
            Widget2:
                Label: 
                    text:
                    pos: root.width*0.8, root.height*0.8

我想将 Label 放置在 Widget 内,因为我将向它添加更多标签,但不知道如何访问 Screen2 宽度。如果我使用 root.width,我会得到小于窗口的父窗口小部件的宽度,并且不能使用比率。我尝试访问 window.width 但它给了我一个 ID 错误。

如果有人能解释我如何通过 id 访问不同的父母,我将不胜感激。谢谢!

【问题讨论】:

  • 我认为你应该这样做:root.parent.parent.parent.....width 使用父级直到你到达所需的小部件。
  • 使用 Screen2 的 id

标签: kivy


【解决方案1】:

回答您的直接问题:

ScreenManager:
    Screen1: 
    Screen2:
        id: screen2 
        FloatLayout:
            Button1
            Button2
            Button3
            Widget1
            Widget2:
                Label: 
                    text:
                    pos: screen2.width*0.8, screen2.height*0.8

但是,最好使用布局类来避免手动指定这些内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    • 2013-12-25
    • 2023-03-17
    • 2021-10-30
    • 1970-01-01
    相关资源
    最近更新 更多