Python Kivy-到外部布局的边距

时间:2018-12-14 14:17:37

标签: python kivy

我正在尝试学习Kivy,并试图在内部和外部布局之间创建边距。对于父布局,size_hint和pos_hint会执行应做的工作,但是对于子布局,margin功能仅在垂直方向起作用,从而产生以下结果:

enter image description here

我在做什么错了?

代码:

BoxLayout:
    size_hint: [.9, .9]
    pos_hint: { 'top' : .95, 'right': .95}
    canvas:
        Color:
            rgb: [.8, .8, .8]
        Rectangle:
            pos: self.pos
            size: self.size

    BoxLayout:
        size_hint: [.9, .9]
        pos_hint: { 'top' : .95, 'right': .95}
        canvas:
            Color:
                rgb: [.6, .6, .6]
            Rectangle:
                pos: self.pos
                size: self.size

2 个答案:

答案 0 :(得分:0)

为什么要使用BoxLayout,它是用来在其中放置多个小部件的,这里您只是在他的画布中放置一个矩形,然后给他一个子小部件,我不确定,但也许可以帮上忙,也许扎根一个浮动布局。

答案 1 :(得分:0)

我还认为您可以使用浮动版式。 但是我想您想在这里使用paddingspacing进行设计。

下面的代码将像图片一样提供填充和间距。

BoxLayout:
    size_hint: [.9, .9]
    pos_hint: { 'top' : .95, 'right': .95}

    # Add padding and spacing
    orientation: 'vertical'
    padding: 50
    spacing: 100

    canvas:
        Color:
            rgb: [.8, .8, .8]
        Rectangle:
            pos: self.pos
            size: self.size

    # Add New BoxLayout
    BoxLayout:
        canvas:
            Color:
                rgb: [.6, .6, .6]
            Rectangle:
                pos: self.pos
                size: self.size
    BoxLayout:
        canvas:
            Color:
                rgb: [.6, .6, .6]
            Rectangle:
                pos: self.pos
                size: self.size

填充和间距图像