wxPython GridSizer佈局

顧名思義,一個GridSizer對象展示二維網格。控件被添加在網格插槽從左到右和由上到下方順序。GridSizer對象有四個參數 -
wx.GridSizer(rows, columns, vgap, hgap)
vgap和hgap指定參數控制相鄰控件之間的縱向和橫向間距。
下表顯示了 wxGridSizer 類的一些重要方法 -
S.N.
方法和說明
1

Add()

添加在下一可用網格插槽的控件
2

AddMany()

在控制列表中添加每個專案
3

SetRows()

設置在sizer中的行數
4

GetRows()

檢索在該sizer的行數
5

SetCols()

設置在sizer列數
6

GetCols()

檢索列數的大小
7

SetVGap()

設置單元之間的垂直間隙(像素)
8

GetVGap()

返回社區之間vgap的值
9

SetHGap()

設置單元之間的水準間隙(像素)
10

GetHGap()

返回指定的社區之間hgap的值
下麵的代碼演示了一個4×4格,5個像素的垂直和水準邊距差的一個簡單gridsizer。
Gs = wx.GridSizer(4, 4, 5, 5)
十六按鈕對象用'for'迴圈依次加入。
for i in range(1,17):
   btn = "Btn"+str(i)
   gs.Add(wx.Button(p,label = btn),0,wx.EXPAND)
Grid.py 完整的代碼如下 -
import wx

class Example(wx.Frame):

   def __init__(self, parent, title):
      super(Example, self).__init__(parent, title = title,size = (300,200))

      self.InitUI()
      self.Centre()
      self.Show()

   def InitUI(self):

      p = wx.Panel(self)

      gs = wx.GridSizer(4, 4, 5, 5)

      for i in range(1,17):
         btn = "Btn"+str(i)
         gs.Add(wx.Button(p,label = btn),0,wx.EXPAND)

         p.SetSizer(gs)

app = wx.App()
Example(None, title = 'Grid Demo - www.xuhuhu.com')
app.MainLoop()
上面的代碼產生下麵的輸出 -


上一篇: wxPython BoxSizer佈局 下一篇: wxPython FlexiGridSizer佈局