wxPython使用boxSizer布局的时候,空间之间加边距,设置border的边框宽度来加边距
1 函数原型sizer = wx.BoxSizer( integer orient )
其中的方向(orient)可以是 wx.VERTICAL(垂直) 或 wx.HORIZONTAL(水平)。
将构件加入 wx.BoxSizer 要使用Add() 方法。为了理解,我们来看一下它的参数。
Add( wx.Window window, integer proportion=0, integer flag=0, integer border=0 )
(1)window 就是一个控件名
(2) proportion 参数定义了在定义的方向上构件改变的比例,与其他控件配合发挥作用。假设我们有三个按纽,它们的proportion 属性分别为0、1和2。它们被加入一个水平的 wx.BoxSizer。proportion 参数为 0 的按纽根本不发生变化。而这个参数值为 2 的按纽在水平方向改变的程序将是参数值为 1 的那个按纽的两倍。
(3)flag 参数可以更深入的设置构件的属性。我们可以控制构件之间的边框。我们可以在构件之间增加一些空白象素。在要使用边框的地方我们需要定义边界。我们可以使用 | 符号来连接它们。比如wx.LEFT | wx.BOTTOM 。flag参数的值可以是:
* wx.LEFT
* wx.RIGHT
* wx.BOTTOM
* wx.TOP
* wx.ALL
如果我们使用 wx.EXPAND 标识,我们的构件将占据所有分配给它的空间。最后,我们还可以定义构件的对齐方式。有以下几种:
* wx.ALIGN_LEFT
* wx.ALIGN_RIGHT
* wx.ALIGN_TOP
* wx.ALIGN_BOTTOM
* wx.ALIGN_CENTER_VERTICAL
* wx.ALIGN_CENTER_HORIZONTAL
* wx.ALIGN_CENTER
(4)结合border来发挥flag中指定方向的边框宽度。结合起来就好理解了,例如:flag=wx.LEFT | WX.TOP, border=35,这两个参数结合起来的含义就是控件的左边和上边分别预留35像素的空白。另外,flag加上wx.ALIGN_XXX就是表示将控件进行某个方向的对齐
# 控件上方留 5像素的空白区域(相当于 margin 或 padding)
boxSizer.Add(bottomPanel,2, flag=wx.EXPAND | wx.TOP , border=5)