网格布局wx.GridSizer即由行列组成的二维表格的布局方式。在GridSizer中,可以定义表格的行列数目,以及单元格之间的横竖间距,它通过AddMany()方法,按照从左到右从上到下方的顺序,一次性插入多个组件,它的语法为:
gs=GridSizer(rows=1, cols=0, vgap=0, hgap=0)
gs.AddMany(self, items)
rows定义行数,cols定义列数,vgap指定垂直方向上的行间距,hgap指定水平方向上的列间距。
程序清单:gridSizer.py
import wx
# 继承Frame
class GridSizer(wx.Frame):
def __init__(self, *args, **kwargs):
super(GridSizer, self).__init__(*args, **kwargs)
# 初始化窗口UI
self.init_ui()
def init_ui(self):
# 定义行列
gs = wx.GridSizer(rows=3, cols=2, vgap=5, hgap=5)
btn1 = wx.Button(self, label="音乐")
btn2 = wx.Button(self, label="舞蹈")
btn3 = wx.Button(self, label="绘画")
btn4 = wx.Button(self, label="雕塑"