Python Kivy-pos_hint不使用代码在FloatLayout中更新

时间:2019-02-11 15:00:28

标签: python kivy

我一直在尝试调整此Label的位置,但是每次调整pos_hint时,它将label保持在窗口的中间。我已经搜索了很多,但是所有结果都使用了我试图避免的.kv文件。我查看了https://kivy.org/doc/stable/api-kivy.uix.floatlayout.html上的文档,看来我在正确使用它,但是无法弄清楚这可以挽救我的性命。打印出pos_hint后,似乎变量正在调整,只是在屏幕上没有调整。

import kivy
kivy.require('1.0.7')
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout

class TestApp(App):
    def build(self):    
        f = FloatLayout()
        lab = Label(text="text", pos_hint={"x": 0, 'top':1})
        f.add_widget(lab)
        return f

if __name__ == '__main__':
    test = TestApp();
    test.run()

1 个答案:

答案 0 :(得分:0)

如果您不限制Label小部件的大小(高度和宽度),它将尝试使其尺寸与其父小部件一样大(在使用FloatLayout小部件的情况下) )。您可以尝试设置size_hint小部件的Label属性和/或设置height小部件的widthLabel属性。

...
lab = Label(text="text", pos_hint={"x": 0, 'top':1})
lab.size_hint= (None, None)
lab.width= 100 # Label widget's width
lab.height = 56 # Label widget's height
f.add_widget(lab)
...