Kivy了解self.pos和self.size

时间:2016-03-07 02:58:26

标签: python kivy

每当我尝试跨越布局跨越画布时,我所要做的就是这个

<FloatLayout>:
    canvas:
        Color:
            rgba: 54 / 255, 60 / 255, 72 / 255, 1
        Rectangle:
            pos: self.pos
            size: self.size

我一直在玩,并且无法理解self.pos指的是什么?通过阅读文档,它似乎指向当前小部件,它应该是Rectangle。但是当我进入调试模式时,我注意到self.size的默认值是(100,100)。

2 个答案:

答案 0 :(得分:5)

Rectangle不是一个小部件,它是一个画布指令,一个小部件是表示(一组画布指令)+行为(各种方法,如'on_touch_down')。在kv中,self总是指定当前的小部件,所以在这里,FloatLayout。

Widget的默认大小确实是'(100,100)',它默认为任何默认大小。

答案 1 :(得分:3)

小部件的默认大小为100x100和pos [0,0]。 Rectangle不是小部件,而是canvas上的指令。所以你使用了一个指令在一个小部件的canvas上绘制一些东西,默认情况下是[0,0]的100x100。