将标签固定在角落?

时间:2015-09-03 05:14:37

标签: python kivy

在Kivy:

from kivy.app import App
from kivy.uix.label import Label

class TestApp(App):
    def build(self):
        label = Label(text="TEST")
        return label

TestApp().run()

我的标签位于窗口的中心位置:

enter image description here

如何将标签固定在窗口的右下角?

你想

label.halign = 'right'
label.valign = 'bottom'

可以解决问题,但正如Label documentation指出的那样,

  

如果您的文字有换行符,valign属性将无效,halign只会生效;即使halign设置为左(默认情况下),单行文本也会显示为居中。

2 个答案:

答案 0 :(得分:2)

看起来像将标签添加到AnchorLayout,然后缩小标签相对于其父窗口小部件的大小,一起实现我想要的。

from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.anchorlayout import AnchorLayout

class TestApp(App):
    def build(self):
        anchor_layout = AnchorLayout(anchor_x='right', anchor_y='bottom')
        label = Label(text="TEST")
        label.size_hint = (0.1, 0.1)
        anchor_layout.add_widget(label)
        return anchor_layout

TestApp().run()

产地:

enter image description here

答案 1 :(得分:1)

将Label的text_size设置为其大小,例如在kv text_size: self.size。 text_size控制文本被包装的边界框。