wxPython - 網格大小



顧名思義,網格大小物件呈現一個二維網格。控制元件按從左到右、從上到下的順序新增到網格槽中。gridsizer 物件需要四個引數 -

wx.GridSizer(rows, columns, vgap, hgap)

vgap 和 hgap 引數控制相鄰控制元件之間的垂直和水平間距。

下表顯示了 wxGridsizer 類的部分重要方法 -

序號 方法和說明
1

新增()

在下一個可用的網格槽中新增一個控制元件

2

addmany()

新增控制元件列表中的每個專案

3

setrows()

設定大小調整器中的行數

4

getrows()

檢索大小調整器中的行數

5

setcols()

設定大小調整器中的列數

6

getcols()

檢索大小中的列數

7

setvgap()

設定單元格之間的垂直間距(以畫素為單位)

8

getvgap()

返回單元格之間的 vgap 值

9

sethgap()

設定單元格之間的水平間距(以畫素為單位)

10

gethgap()

返回單元格之間 hgap 的值

以下程式碼展示了一個簡單的 4 x 4 網格大小調整器,垂直和水平間距為 5 畫素。

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)

完整程式碼如下 -

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') 
app.MainLoop()

以上程式碼生成以下輸出 -

Grid Output
wxpython_layout_management.htm
廣告
© . All rights reserved.