我刚开始学习kivy并且遇到了这个布局问题。 我使用Anchor Layout将按钮置于中心位置:
Button:
text: "A button"
anchor_x:'center'
anchor_y:'center'
然而,当我尝试这个时:
Label:
text: "Hello World!"
size_hint: 1, 1
anchor_x:'center'
anchor_y:'top'
它只是显示" Hello World!"在默认的中心位置,但我希望它在我的居中按钮上方。
我已经尝试了所有内容并查看了文档,但没有找到任何解释这一点。
编辑: 以下是两个文件:
py文件:
import kivy
kivy.require('1.8.0')
from kivy.app import App
from kivy.uix.anchorlayout import AnchorLayout
class Layout(AnchorLayout):
pass
class LayoutApp(App):
def build(self):
return Layout()
if __name__ == '__main__':
LayoutApp().run()
kv文件:
<Layout>:
Label:
text: "Hello World!"
font_size: 50
size_hint: None, None
height: 100
anchor_x:'center'
anchor_y:'top'
Button:
text: "Button"
background_colour: (0,0,1,1)
size_hint: None, None
size: 50, 50
anchor_x:'center'
anchor_y:'top'
答案 0 :(得分:1)
size_hint:1,1
这是你的问题,size_hint意味着Label与父布局的大小相同,文本在中间...即。屏幕中间。标签固定在哪里并不重要,因为它没有移动空间。
您应该手动设置所需的尺寸,例如
size_hint_y: None
height: 50