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)