2017-02-28 72 views
1

我试图在Kivy中使用FloatLayout来手动定位一些图像,但原点(0, 0)似乎位于屏幕的中心,而不是文档所述的左下角。我已经尝试设置图像的pos,pos_hintleft属性,在左下角中获取它,但没有任何效果。Kivy FloatLayout中心儿童?

令人沮丧的是,当我在那里绘制一个带有canvas.after的矩形时,它在左下角正确绘制。我的kv代码:

FloatLayout: 
    canvas.after: 
     Line: 
      rectangle: [0, 0, 10, 10] 
    Image: 
     id: sprite 
     pos_hint_x: None 
     pos_hint_y: None 
     pos: 0, 0 
     size: 32, 32 
     source: 'atlas://img/sprites/fuzzy_dragon' 

图像在屏幕上画死点,矩形在左下角。我究竟做错了什么?

+0

更改'FloatLayout'为'RelativeLayout' – Juggernaut

+0

@Juggernaut为什么? – KeyWeeUsr

回答

1

这是size_hint_*,不pos_hint_*禁用相对大小即:

size_hint: None, None 
size: 32, 32 

否则将采取全屏幕所以你认为它的中心。嗯,这是,但不适合的原因你认为它是:P

pos_hintdictionary和工作方式不同。

在未来的调试布局和元素Inspectorpython main.py -m inspector)。

+0

这样做,谢谢。抛弃我的是,按钮不会自动占据整个屏幕,因此它们定位正确,但其他小部件受到影响。 – Eric