如何使用Kivy

时间:2016-07-02 19:02:18

标签: python kivy

我正在尝试在FloatLayout周围绘制边框。要做到这一点,我将两个矩形添加到画布,第二个矩形略小于它的父级布局。这有效。但是,将矩形与画布中心对齐已经证明是难以捉摸的。第二个矩形需要居中于它的父级,以便它后面的稍大的矩形显示出来。

不起作用的事情:

        Rectangle:
            size: (self.width*0.99, self.height*0.99)
            center: self.center ## no property for Rect named center

        Rectangle:
            size: (self.width*0.99, self.height*0.99)
            center_x: self.center_x ## no property for Rect named center_x/y
            center_y: self.center_y

        Rectangle:
            size: (self.width*0.99, self.height*0.99)
            pos: (self.pos.x, self.pos.y) ## can't reference x/y of self

2 个答案:

答案 0 :(得分:0)

我不确定您之后会有什么影响,但无论哪种方式,您都可以手动管理偏移量。我还添加了Color来区分矩形。

这是一个50像素偏移的例子:

Color:
    rgba: 0, 1, 0, 1
Rectangle:
    size: self.width, self.height
    pos: self.pos
Color:
    rgba: 1, 0, 0, 1
Rectangle:
    size: self.width - 100, self.height - 100
    pos: self.x + 50, self.y + 50

如果您只想绘制一个矩形边框而不是其他内容,则可以改为使用Line。

答案 1 :(得分:0)

这也有效。

        Rectangle:
            size: (self.width -4.0, self.height - 4.0)
            pos: ((self.right - self.width + 2.0),(self.top - self.height + 2.0))