标签不受AnchorLayout影响 - Kivy

时间:2014-08-16 06:51:54

标签: python kivy

我刚开始学习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'

1 个答案:

答案 0 :(得分:1)

  

size_hint:1,1

这是你的问题,size_hint意味着Label与父布局的大小相同,文本在中间...即。屏幕中间。标签固定在哪里并不重要,因为它没有移动空间。

您应该手动设置所需的尺寸,例如

size_hint_y:  None
height: 50