"""
1、其实我们已经接触过 tkinter 的一种布局,就是 pack 布 局,它非常简单,我们不用做过多的设置,直接使用一个 pack 函数就可以了。
2、grid 布局:grid 可以理解为网格,或者表格,它可以把 界面设置为几行几列的网格,我们在网格里插入我们想要 的元素。
这种布局的好处是不管我们如何拖动窗口,相对 位置是不会变化的,而且这种布局也超简单。
3、place 布局:它直接使用死板的位置坐标来布局,这样做 的最大的问题在于当我们向窗口添加一个新部件的时候, 又得重新测一遍数据,
且我们不能随便地变大或者缩小窗口,否则,可能会导致混乱。
"""
# pack布局
"""
1、pack函数布局的时候,默认先使用的放到上面,然后依次向下排列,默认方式它会给我们的组件一个自认为合适的位置和大小。
2、pack函数也可以接受几个参数,side参数,指定了它停靠在哪个方向,可以为LEFT,TOP,RIGHT,BOTTOM,分别代表左,上,右,下,
它的fill参数可以是X,Y,BOTH,NONE即在水平方向填充,竖直方向填充,水平和竖直方向填充和不填充。
3、它的expand参数可以是YES 和 NO,它的anchor参数可以是N,E,S,W(这里的NESW分别表示北东南西,这里分别表示上右下左)以及他们的组合或者是CENTER(表示中间)
4、它的ipadx表示的是内边距的x方向,它的ipady表示的是内边距的y的方向,padx表示的是外边距的x方向,pady表示的是外边距的y方向。
"""
from tkinter import *
root = Tk()
Button(root,text= "A").pack(side = LEFT, expand = YES, fill = Y)
Button(root,text= "B").pack(side = TOP, expand = YES, fill = BOTH)
Button(root,text= "C").pack(side = RIGHT, expand = YES, fill = NONE,anchor = NE)
Button(root,text= "D").pack(side = LEFT, expand = NO, fill = Y)
Button(root,text= "E").pack(side = TOP, expand = NO, fill = BOTH)
Button(root,text= "F").pack(side = BOTTOM, expand = YES)
Button(root,text= "G").pack(anchor= SE)
root.mainloop()
运行结果如下:
# grid布局
root.mainloop()
运行结果如下:
# place布局
"""
1、它使用place函数,它分为绝对布局和相对布局,绝对布局使用x和y参数,相对布局使用relx,rely,relheight和relwidth参数。
2、该方法不推荐大家使用。
"""