本文实例讲述了Python GUI编程学习笔记之tkinter界面布局显示。分享给大家供大家参考,具体如下:
相关内容:
- pack
- 介绍
- 常用参数
- 使用情况
- 常用函数
- grid
- 介绍
- 常用参数
- 使用情况
- 常用函数
- place
- 介绍
- 常用参数
- 使用情况
- 常用函数
首发时间:2018-03-04 14:20
pack:
* 介绍:
* pack几何管理器按行或列打包小部件。 可以使用填充fill,展开expand和靠边side等选项来控制此几何体管理器。
* pack的排放控件的形式就像将一个个控件按大小从上到下放过去 ![](https://img.jbzj.com/file_images/article/202003/2020033010562031.png)
* 在窗口不设定大小的而使用pack进行布局的情况下, 窗口默认大小为刚好包裹所有控件的大小
* 默认情况下添加的控件是 居中且占据整行的 ![](https://img.jbzj.com/file_images/article/202003/2020033010562032.png)
* 常用参数:
* fill:填充分配给控件的空间,fill:X为填充X轴方向,Y为Y轴方向,BOTH为X+Y ![](https://img.jbzj.com/file_images/article/202003/2020033010562033.png)
* expand:先按普通标准来规定控件大小,如果后面窗口还剩下空间,那么会分给那些expand=True的控件,如图中是两个不同大小的按钮,其中2expand=True [ ![image_thumb\[4\]](https://img.jbzj.com/file_images/article/202003/2020033010562034.png) ](http://images2017.cnblogs.com/blog/1053079/201803/1053079-20180304142036858-610239043.png) ,当使用expand=True时,side将不会生效!
* side:使控件靠窗口的指定方向并排,side可取值LEFT,RIGHT,TOP,BOTTOM. [ ![image_thumb3\[1\]](https://img.jbzj.com/file_images/article/202003/2020033010562035.png) ](http://images2017.cnblogs.com/blog/1053079/201803/1053079-20180304142039358-605534287.png)
* anchor:对齐方式,可取值“n”, “s”, “w”, “e”, “nw”, “sw”, “se”, “ne”, “center”(默认为” center”) [ ![image_thumb\[5\]](https://img.jbzj.com/file_images/article/202003/2020033010562036.png) ](http://images2017.cnblogs.com/blog/1053079/201803/1053079-20180304142039686-541105531.png)
* ipadx, ipady:内边距
* padx,pady:外边距
* 适用情况:与gird相比,pack有一定的局限性,但在一些但很常见的情况下使用起来要容易得多:
* 将一个小部件放入一个框架(或任何其他容器小部件)中,并让它填充整个框架
* 将多个小部件放在一起
* 并排放置一些小部件
* 补充:
* 常用函数:
* ** pack_propagate(flag) ** :由窗口调用来配置pack控件时窗口的大小,当flag=0时,那么窗口大小将不再仅仅包裹住所有控件,这时候窗口的高度和宽度设置才可以生效
* pack_forget():移除控件,但并没有进行摧毁,可以再次使用pack或其他方式来显示
* pack_info():返回pack提供的选项所对应得值。
* pack_slaves():以列表方式返回本组件的所有子组件对象。
from tkinter import *
root=Tk()
# for i in range(10):
##side
# btn = Button(text=i)
# btn.pack(side=LEFT)
# btn.pack(side=RIGHT)
# btn.pack(side=(TOP,LEFT))
####fill
# btn.pack(fill=X)
# btn.pack(side=LEFT,fill=Y)
# btn.pack(fill=BOTH)
##expand
# btn1=Button(text=1,bg='green')
# btn2=Button(text=2,bg='yellow')
# btn1.pack(fill=X)
# btn2.pack(expand=True)
#anchor:
# btn1=Button(text=1,bg='green')
# btn2=Button(text=2,bg='yellow')
# btn1.pack(fill=X)
# btn2.pack(anchor=E)
#pack_propagete
# btn1=Button(text=1,bg=