我试图更好地理解 kivy 父/子定位如何与 FloatLayout 特别配合,因为它允许根据窗口大小放置元素,因此超级动态。
下面的代码很简单。我只是想将标签从其父位置获取到基本 ITS 位置,并从那里进行调整(因此是 +200 和 +20)。
FloatLayout:
Button:
text: 'Home'
size_hint: 1, .2
pos_hint: {'x':0, 'top':1}
Label:
text: 'Welcome'
# size_hint: 1, .2
pos_hint: self.parent.x + 200, self.parent.y + 20
我的期望是文本“欢迎”到“开始”左下角,因为这个链接指出“kivy中的坐标系从左下角开始工作!这在放置我们的对象时很重要。(即(0, 0)是左下角)。”所以首先考虑底部的左下角。然后 +200 会将其稍微向右移动,+20 会将其稍微向上移动。但结果明显不同。
如果我遗漏了一些明显的东西,请提前道歉,我仍在学习。非常感谢任何帮助。谢谢你。
pos_hint
值预计为分数(请参阅文档)。您对 Button
的使用是正确的,但对 Label
的使用不正确。首先,pos_hint
必须是一本字典。如果您想将 Label
定位到您显示的特定坐标,只需将 pos_hint
更改为 pos
。