tkinter的三种布局及属性介绍

tkinter的三种布局

概述:

tkinter支持三种布局,pack布局方式、grid布局方式和place布局方式,

这三种布局方式在使用的时候要防止冲突,即在一个ttk.Frame中不能使用两种布局方式,

比如,一个ttk.Frame中ttk.Label使用了grid布局方式,则其他组件如ttk.Button则不能使用pack或place

布局方式。但一个ttk.Frame内部的布局方式不需要与另外的ttk.Frame内部的布局方式保持一致,所以

实际开发中推荐的做法是ttk.Frame本身使用pack布局方式,ttk.Frame内部的各种组件使用grid布局方式。

具体还需要根据实际应用的需求做出一定的调整,但一般都要用ttk.Frame把实际的组件包起来,这样易于

排版布局。

 

pack布局方式支持的所有属性如下,

属性说明
in依赖的父组件
fill取值范围:NONE、X、Y、BOTH
X:横向填充;Y:竖向填充;BOTH:横竖向都填充
side取值范围:TOP、BOTTOM、LEFT、RIGHT
TOP:居于父组件顶部;BOTTOM:居于父组件底部
LEFT:居于父组件左边;RIGHT:居于父组件右边
anchor取值范围:
padx取值范围:屏幕的尺寸值,可以为一个正整数或一个元组,
eg:padx=10,表示这个组件的左右横向距离其他组件的距离都为10,
padx=(10,20),表示这个组件左边的距离是10,右边的距离是20
pady取值范围:屏幕的尺寸值,可以为一个正整数或一个元组,
eg:pady=10,表示这个组件的上下竖向距离其他组件的距离都为10,
padx=(10,20),表示这个组件上面的距离是10,下边的距离是20
ipadx取值范围:屏幕的尺寸值,可以为一个正整数或一个元组,
表示的是组件内部的文字距离组件本身的横向距离
ipady取值范围:屏幕的尺寸值,可以为一个正整数或一个元组,
表示的是组件内部的文字距离组件本身的竖向距离
before取值范围:其他组件的变量值
eg:before=self.my_label,表示这个组件在my_label这个组件后面
after取值范围:其他组件的变量值
eg:after=self.my_label,表示这个组件在my_label这个组件前面

 

网格grid布局方式支持的属性如下,

属性说明
in依赖的父组件
row取值范围:正整数,从0开始,0是第一行
column取值范围:正整数,从0开始,0是第一列
rowspan取值范围:正整数,从1开始,表示组件占据的行数,
例如rowspan=3,表示组件占据3行
columnspan取值范围:正整数,从1开始,表示组件占据的列数,
例如columnspan=3,表示组件占据3列
padx取值范围:屏幕的尺寸值,可以为一个正整数或一个元组,
eg:padx=10,表示这个组件的左右横向距离其他组件的距离都为10,
padx=(10,20),表示这个组件左边的距离是10,右边的距离是20
pady取值范围:屏幕的尺寸值,可以为一个正整数或一个元组,
eg:pady=10,表示这个组件的上下竖向距离其他组件的距离都为10,
padx=(10,20),表示这个组件上面的距离是10,下边的距离是20
ipadx取值范围:屏幕的尺寸值,可以为一个正整数或一个元组,
表示的是组件内部的文字距离组件本身的横向距离
ipady取值范围:屏幕的尺寸值,可以为一个正整数或一个元组,
表示的是组件内部的文字距离组件本身的竖向距离
sticky取值范围:N、E、S、W,是个元组
eg:sticky=(N,E,W),sticky=(N,E,S,W)

 

最后一种绝对布局place用的比较少,有兴趣的可以再研究下。

ttk的布局框架如下,

 

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值