wxPython的sizer,本身不是实体的控件,而是一个容器,容器里面可以放实体的控件。既然可以放子控件,那子控件之间就要有排列组合的方法。就两种。
1. 线性排布,这有两个递进的方式:
- BoxSizer:进来的子控件,按水平(或垂直)一个方向排布。坐排排吃果果。
- 衍生Static box Sizer:就是在BoxSizer,外面围一圈线,并且起一个标题。
2.按表格来排布,有三个递进的方式:
- GridSizer:容器划分成表格,单元格和单元格之间的长和高完全一致,也就是说改变其中一个单元格的长度,所有单独格的长度都要改;进来的元素挨着填进单元格;
- 进阶 Flex Grid Sizer:也是表格,每一列的长度、每一行的高度,可以单独定义;
- 进一步进阶 Grid bag Sizer:啊哟,这个更牛逼了,支持合并单元格;
其实,并没有这么复杂,搞清楚基础的逻辑,其他调用的方法,查手册就行了。