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
广告