wxPython – GridSizer

wxPython – GridSizer

顾名思义, GridSizer 对象呈现了一个二维的网格。控件按照从左到右和从上到下的顺序被添加到网格槽中。GridSizer对象需要四个参数 –

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

vgap和hgap参数控制相邻控件之间的垂直和水平间距。

下表显示了wxGridSizer类的一些重要方法。

S.N. 方法和描述
1 Add() 在下一个可用的网格槽中添加一个控件。
2 AddMany() 在控件列表中添加每个项目
3 SetRows() 设置网格器中的行数
4 GetRows() 检索尺寸器中的行数
5 SetCols() 设置尺寸器中的列数
6 GetCols() 检索尺寸中的列数
7 SetVGap() 设置单元格之间的垂直间隙(像素)。
8 GetVGap() 返回单元格之间vgap的值
9 SetHGap() 设置单元格之间的水平间隙(单位:像素)。
10 GetHGap() 返回单元格之间的hgap值

下面的代码演示了一个简单的4乘4的网格,垂直和水平差距为5像素。

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

使用 “for “循环,16个按钮对象被陆续添加。

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()

上述代码产生的输出结果如下 —

wxPython - GridSizer

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程