注册 登录

清河洛

tkinter中的布局方式

qingheluo2020-07-14清河洛410
所谓布局,就是指控制窗体容器中各个控件(组件)的位置关系。tkinter共有三种几何布局管理器,分别是:pack布局,grid布局,place布局。pack布局使用 pack布局,将向容器中添加组件,第一个添加的组件在最上方,然后是依次向下添加。in:使用master包含此部件 ipadx:在x方向内部间距(单位为像素) ipady:在y方向内部间距(单位为像素) padx:在x方向外部间距(单位为像素) pady:在y方向外部间距(单位为像素) side:tkinter.TOP/BOTTOM/LEFT/RIGHT,组件在主窗口的位置。默认水平居中 after:将组件置于其他组件之后; ...

所谓布局,就是指控制窗体容器中各个控件(组件)的位置关系。tkinter共有三种几何布局管理器,分别是:pack布局,grid布局,place布局。

pack布局

使用 pack布局,将向容器中添加组件,第一个添加的组件在最上方,然后是依次向下添加。

in:使用master包含此部件
ipadx:在x方向内部间距(单位为像素)
ipady:在y方向内部间距(单位为像素)
padx:在x方向外部间距(单位为像素)
pady:在y方向外部间距(单位为像素)
side:tkinter.TOP/BOTTOM/LEFT/RIGHT,组件在主窗口的位置。默认水平居中
after:将组件置于其他组件之后;
before:将组件置于其他组件之前;
anchor:锚选项,当可用空间大于所需求的尺寸时,决定组件被放置于容器的何处,顶对齐‘N‘,底对齐‘S‘,左‘W‘,右‘E‘,居中CENTER(默认值)
fill:填充方式 (Y垂直,X水平,BOTH水平和垂直,NONE不填充)
expand:组件是否展开(YES、NO(1、0)),为YES时side选项无效,组件显示在父容器中心位置。默认为不展开

pack相关函数,使用组件实例对象调用

pack_slaves()    以列表方式返回本组件的所有子组件对象。
pack_configure(option=value)    给pack布局管理器设置属性,使用属性(option)= 取值(value)方式设置
propagate(boolean)    设置为True表示父组件的几何大小由子组件决定(默认值),反之则无关。
pack_info()    返回pack提供的选项所对应得值。
pack_forget()    Unpack组件,将组件隐藏并且忽略原有设置,对象依旧存在,可以用pack(option, …),将其显示。
location(x, y)    x, y为以像素为单位的点,函数返回此点是否在单元格中,在哪个单元格中。返回单元格行列坐标,(-1, -1)表示不在其中
size()    返回组件所包含的单元格,揭示组件大小。

grid布局

grid布局又被称作网格布局,是最被推荐使用的布局。

程序大多数都是矩形的界面,可以把它划分为一个几行几列的网格,然后根据行号和列号,将组件放置于网格之中。

column:组件所在的列起始位置(从0开始,默认值是0)
columnspan:组件的列宽(默认值为1)
in=master:使用master包含此部件
ipadx:在x方向内部间距(单位为像素)
ipady:在y方向内部间距(单位为像素)
padx:在x方向外部间距(单位为像素)
pady:在y方向外部间距(单位为像素)
row:组件所在的行起始位置(从0开始),默认值是下一个编号较大的未占用行号
rowspan:组件的行高(默认值为1)
sticky:如果单元格较大,这个部件将贴在边界的哪一边,顶对齐‘N‘,底对齐‘S‘,左‘W‘,右‘E‘

grid相关函数,使用组件实例对象调用

grid_slaves()    以列表方式返回本组件的所有子组件对象。
grid_configure(option=value)    给pack布局管理器设置属性,使用属性(option)= 取值(value)方式设置
grid_propagate(boolean)    设置为True表示父组件的几何大小由子组件决定(默认值),反之则无关。
grid_info()    返回pack提供的选项所对应得值。
grid_forget()    Unpack组件,将组件隐藏并且忽略原有设置,对象依旧存在,可以用pack(option, …),将其显示。
grid_location(x, y)    x, y为以像素为单位的点,函数返回此点是否在单元格中,在哪个单元格中。返回单元格行列坐标,(-1, -1)表示不在其中
size()    返回组件所包含的单元格,揭示组件大小。

place布局

最简单最灵活的一种布局,使用组件坐标来放置组件的位置。但是不太推荐使用,在不同分辨率下,界面往往有较大差异。.

in:使用master包含此部件
x:组件左上角的x坐标(默认0,单位像素)
y:组件左上角的y坐标(默认0,单位像素)
relx:组件相对于窗口的x坐标,应为0-1之间的小数
rely:组件相对于窗口的y坐标,应为0-1之间的小数
anchor:组件的对齐方式,顶对齐‘N‘,底对齐‘S‘,左‘W‘,右‘E‘
width:部件的宽度(像素)
height:部件的高度(像素)
relwidth:组件相对于窗口的宽度,0-1之间的小数
relheight:组件相对于窗口的高度,0-1之间的小数
bordermode:是否采用边框宽度,如果设置为INSIDE,组件内部的大小和位置是相对的,不包括边框;如果是OUTSIDE,组件的外部大小是相对的,包括边框,可以使用常量INSIDE、OUTSIDE(默认值),也可以使用字符串形式"inside"、"outside"

place相关函数,使用组件实例对象调用

place_slaves()    以列表方式返回本组件的所有子组件对象。
place_configure(option=value)    给pack布局管理器设置属性,使用属性(option)= 取值(value)方式设置
propagate(boolean)    设置为True表示父组件的几何大小由子组件决定(默认值),反之则无关。
place_info()    返回pack提供的选项所对应得值。
grid_forget()    Unpack组件,将组件隐藏并且忽略原有设置,对象依旧存在,可以用pack(option, …),将其显示。
location(x, y)    x, y为以像素为单位的点,函数返回此点是否在单元格中,在哪个单元格中。返回单元格行列坐标,(-1, -1)表示不在其中
size()    返回组件所包含的单元格,揭示组件大小。


网址导航