Kivy在FloatLayout内移动标签



你好,我想在应用程序的顶部放一条欢迎信息(就像照片一样(

我对整个屏幕使用FloatLayout(因为我想稍后添加一些其他小部件(,但问题是标签不会将自己定位在中心,而是像这个一样

这是我的python代码:

from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.widget import Widget
class MainPage(FloatLayout):
pass
class SmartMirrorApp(App):
def build(self, **kwargs):
return MainPage()
if __name__ == "__main__":
SmartMirrorApp().run()

这是我的kv文件:

#:kivy 1.10.1
<MainPage>:
canvas:
Color:
rgba: 1,0,1,0.5
Rectangle:
size: self.size
pos: self.pos
Label:
canvas:
Color:
rgba: 1,0,0,0.5
Rectangle:
size: self.size
pos: self.pos
text: "Welcome, you look beautiful today!"
font_size: 20
size_hint: None, None
size: self.texture_size
pos_hint: {'x': 0.5, 'y': 0.9}

现在,如果不在pos_hint字典中放入"x":0.5,而是使用center_x: root.center_x只有当我调整窗口大小时,图像才会移动到所需位置,但它从第二个图像的位置开始。

对于您的pos_hint,请使用:

pos_hint: {'center_x': 0.5, 'top': 0.9}

这将使Label水平居中,并且Labeltop将处于MainPage高度的90%。

最新更新