wx.GridBagSizer是一种可以设置行和列间距,并且允许跨行和跨列添加和排列控件的基本网格布局工具。
方法:
__init__(self, vgap=0, hgap=0)
构造函数
参数
vgap - 行与行之间的间距,表示在垂直方向上的距离。
hgap - 列与列之间的间距,表示在水平方向上的距离。
创建wx.GridBagSizer网格布局
Add (self, window/sizer, pos, span=DefaultSpan, flag=0, border=0, userData=None)
将给定组件(面板、控件等)或布局器添加到指定位置
参数
window/sizer - 待添加的组件(面板、控件等)或布局器(用于布局器嵌套)
pos - 位置,是一个元组 (行,列),索引为0的元素表示行,索引为1的元素表示列
span - 跨度,是一个元组 (行数,列数),索引为0的元素表示跨的行数,索引为1的元素表示跨的列数
flag - 标志,是一个位掩码,可以给合多个标志来控制组件大小和位置,常用标志如下:
wx.EXPAND:扩展组件以填充可用空间
wx.ALIGN_LEFT:组件左对齐
wx.ALIGN_RIGHT:组件右对齐
wx.ALIGN_CENTER:组件在水平、垂直方向都居中
wx.ALIGN_CENTER_HORIZONTAL:组件在水平方向居中
wx.ALIGN_CENTER_VERTICAL:组件在垂直方向居中
border - 边框大小,组件与其周围单元格边框之间距离
userData - 用户数据,一般为None
返回
如果组件或布局器成功添加到指定位置返回指向wx.SizerItem 的指针(引用),失败返回None。
网格布局显示
Add (self, width, height, pos, span=DefaultSpan, flag=0, border=0, userData=None)
将指定宽度与长度的占位空间添加到指定位置
参数
width - 占位空间宽度
height - 占位空间高度
pos - 位置,是一个元组 (行,列),索引为0的元素表示行,索引为1的元素表示列
span - 跨度,是一个元组 (行数,列数),索引为0的元素表示跨的行数,索引为1的元素表示跨的列数
flag - 标志,是一个位掩码,可以给合多个标志来控制组件大小和位置,常用标志如下:
wx.EXPAND:扩展组件以填充可用空间
wx.ALIGN_LEFT:组件左对齐
wx.ALIGN_RIGHT:组件右对齐
wx.ALIGN_CENTER:组件在水平、垂直方向都居中
wx.ALIGN_CENTER_HORIZONTAL:组件在水平方向居中
wx.ALIGN_CENTER_VERTICAL:组件在垂直方向居中
border - 边框大小,组件与其周围单元格边框之间距离
userData - 用户数据,一般为None
返回
如果占位空间成功添加到指定位置返回指向wx.SizerItem 的指针(引用),失败返回None。
占位空间
Add (self, size, pos, span=DefaultSpan, flag=0, border=0, userData=None)
将指定尺寸的占位空间添加到指定位置
参数
size - 占位空尺寸,是一个元组 (宽,高),索引为0的元素表示宽度,索引为1的元素表示高度
pos - 位置,是一个元组 (行,列),索引为0的元素表示行,索引为1的元素表示列
span - 跨度,是一个元组 (行数,列数),索引为0的元素表示跨的行数,索引为1的元素表示跨的列数
flag - 标志,是一个位掩码,可以给合多个标志来控制组件大小和位置,常用标志如下:
wx.EXPAND:扩展组件以填充可用空间
wx.ALIGN_LEFT:组件左对齐
wx.ALIGN_RIGHT:组件右对齐
wx.ALIGN_CENTER:组件在水平、垂直方向都居中
wx.ALIGN_CENTER_HORIZONTAL:组件在水平方向居中
wx.ALIGN_CENTER_VERTICAL:组件在垂直方向居中
border - 边框大小,组件与其周围单元格边框之间距离
userData - 用户数据,一般为None
返回
如果占位空间成功添加到指定位置返回指向wx.SizerItem 的指针(引用),失败返回None。
占位空间
CalcMin(self)
容纳布局器所需的最小空间大小。
返回
wx.Size类型大小。
布局器最小占用空间
FindItem (self, window/sizer)
非递归查找指定组件(面板、控件等)或子布局器所在网格对象。
参数
window/sizer - 待查找组件(面板、控件等)或子布局器。
返回
如果找到返回wx.GBSizerItem对象,否则返回None。
获取组件或子布局器在父布器中网格
FindItemAtPosition(self, pos)
非递归查找指定位置网格对象。
参数
pos - 待查找位置。
返回
如果找到返回wx.GBSizerItem对象,否则返回None。
根据位置查找网格对象
GetCellSize(self, row, col)
获取指定单元格的大小,包括 hgap 和 vgap(仅在执行窗口布局后有效)。
参数
row - 行
col - 列
返回
返回wx.Size对象。
获取指定网格大小
GetItemPosition (self, window/sizer/index)
获取指定组件(面板、控件等)、布局器或索引所在的网格的位置。
参数
window/sizer/index - 组件(面板、控件等)、布局器或索引。
返回
返回wx.GBPosition对象。
获取位置
GetItemSpan (self, window/sizer/index)
获取指定组件(面板、控件等)、布局器或索引所在的网格的跨度。
参数
window/sizer/index - 组件(面板、控件等)、布局器或索引。
返回
返回wx.GBSpan对象。
获取跨度
SetItemPosition (self, window/sizer/index, pos)
设置(调整)指定组件(面板、控件等)、布局器或索引所在的网格的位置。
参数
window/sizer/index - 组件(面板、控件等)、布局器或索引。
pos - wx.GBPosition 位置对象。
返回
成功返回True,否则(如指定位置已存在其它组件(面板、控件等)、布局器,设置失败)返回False。
调整位置后的布局
SetItemSpan (self, window/sizer/index, span)
设置(调整)指定组件(面板、控件等)、布局器或索引所在的网格的跨度。
参数
window/sizer/index - 组件(面板、控件等)、布局器或索引。
span - wx.GBSpan跨度对象。
返回
成功返回True,否则(如在跨度范围内已存在其它组件(面板、控件等)、布局器,设置失败)返回False。
调整跨度后的布局