pack、grid 和 place 均用于管理同在一个父组件下的所有组件的布局,其中:
- pack 是按添加顺序排列组件
- grid 是按行/列形式排列组件
- place 则允许程序员指定组件的大小和位置
grid
grid(**options)
选项 | 含义 |
---|---|
column | - 指定组件插入的列(0 表示第 1 列) - 默认值是 0 |
row | 指定组件插入的行(0 表示第 1 行) |
columnspan | 指定用多少列(跨列)显示该组件 |
rowspan | 指定用多少行(跨行)显示该组件 |
in_ | - 将该组件放到该选项指定的组件中 - 指定的组件必须是该组件的父组件 |
ipadx | 指定水平方向上的内边距 |
ipady | 指定垂直方向上的内边距 |
padx | 指定水平方向上的外边距 |
pady | 指定垂直方向上的外边距 |
sticky | - 控制组件在 grid 分配的空间中的位置 - 可以使用 N, E, S, W 以及它们的组合来定位(EWSN代表东西南北,上北下南左西右东) - 使用加号(+)表示拉长填充,例如 N + S 表示将组件垂直拉长填充网格,N + S + W + E 表示填充整个网格 - 不指定该值则居中显示 |
grid_columnconfigure(index, ** options)
- 设置列的属性
- 注意:设置的是该组件所拥有的 grid 的列
- 可以设置的选项及含义如下:
选项 | 含义 |
---|---|
minsize | 指定该列的最小宽度 |
pad | 指定该列中最大网格的水平边距 |
weight | 1. 指定列与列之间的相对距离 2. 默认值是 0 3. 这个你比较难理解,小甲鱼还是详细解说下:初创建窗口的时候,grid 会自动根据组件的尺寸分配窗口的尺寸,当你拉伸窗口的尺寸时就会有空白显示出来。这个选项正是指定列与列之间是否填充空白,默认是不填充的。另外,该选项的值是指定填充空白的倍数,例如 weight = 2 的列会比 weight = 1 的列填充多一倍的空白。所以需要平均填充的话,只需要所有的列都设置 weight = 1 即可。 |
grid_rowconfigure(index, options)
- 设置行的属性
- 注意:设置的是该组件所拥有的 grid 的行
- 类似于上面的grid_columnconfigure
place
place(**options)
下方表格详细列举了各个选项的具体含义和用法:
选项 | 含义 |
---|---|
relx | 1. 指定该组件相对于父组件的水平位置 2. 取值范围 0.0 ~ 1.0 (0.5表示在正中间) |
rely | 1. 指定该组件相对于父组件的垂直位置 2. 取值范围 0.0 ~ 1.0 |
relheight | 1. 指定该组件相对于父组件的高度 2. 取值范围 0.0 ~ 1.0 |
relwidth | 1. 指定该组件相对于父组件的宽度 2. 取值范围 0.0 ~ 1.0 |
anchor | 1. 控制组件在 place 分配的空间中的位置 2. N, NE, E, SE, S, SW, W, NW, 或 CENTER 来定位(EWSN代表东西南北,上北下南左西右东) 3. 默认值是 NW |
bordermode | 1. 指定边框模式(INSIDE 或 OUTSIDE) 2. 默认值是 INSIDE |
height | 指定该组件的高度(像素) |
width | 指定该组件的宽度(像素) |
x | 1. 指定该组件的水平偏移位置(像素) 2. 如同时指定了 relx 选项,优先实现 relx 选项 |
y | 1. 指定该组件的垂直偏移位置(像素) 2. 如同时指定了 rely 选项,优先实现 rely 选项 |
in_ | 1. 将该组件放到该选项指定的组件中 2. 指定的组件必须是该组件的父组件 |
pack
pack(**options)
下方表格详细列举了各个选项的具体含义和用法:
选项 | 含义 |
---|---|
ipadx | 指定水平方向上的内边距 |
ipady | 指定垂直方向上的内边距 |
padx | 指定水平方向上的外边距 |
pady | 指定垂直方向上的外边距 |
fill | 1. 指定填充 pack 分配的空间 2. 默认值是 NONE,表示保持子组件的原始尺寸 3. 还可以使用的值有:X(水平填充),Y(垂直填充)和 BOTH(水平和垂直填充) |
in_ | 1. 将该组件放到该选项指定的组件中 2. 指定的组件必须是该组件的父组件 |
side | 1. 指定组件的放置位置 2. 默认值是 TOP 3. 还可以设置的值有:LEFT,BOTTOM,RIGHT |
anchor | 1. 控制组件在 pack 分配的空间中的位置 2. N, NE, E, SE, S, SW, W, NW, 或 CENTER 来定位(EWSN代表东西南北,上北下南左西右东) 3. 默认值是 CENTER |
expand | 1. 指定是否填充父组件的额外空间 2. 默认值是 False |