pack布局是tkinter编码者常用的布局方式之一,包布局:
基本标签排列,标签没创建之前,那部分是无人认领的空间:
##所属不明的无人认领的空间
newLable1 = tk.Label(root, text='这是一个标签', bg='red').pack()
newLable2 = tk.Label(root, text='这是一个标签', bg='blue').pack()
按钮排列说明expand(有两个值0,1,值为1是side无效后面会说到)和fill
未放大窗口之前,看不出fill(fill有四个值x,y,both,none,x是横向,y是纵向,both是都填,none是不填)填满的区别:
放大窗口后,我们明显可以看出按纽4被填满它本来需要的空间:
###pack拉手布局,要求但未使用空间的理解例子
newButton1 = tk.Button(root,text='按纽1').pack(side=tk.LEFT,expand=1)
newButton2 = tk.Button(root,text='按纽2').pack(side=tk.LEFT,expand=1)
newButton3 = tk.Button(root,text='按纽3').pack(side=tk.LEFT,expand=1)
###fill填满newButton4
newButton4 = tk.Button(root,text='按纽4').pack(side=tk.LEFT,expand=1,fill='x')
newButton5 = tk.Button(root,text='按纽5').pack(side=tk.LEFT,expand=1)
pack拉手布局示例代码:
import tkinter as tk
root= tk.Tk()
##所属不明的无人认领的空间
newLable1 = tk.Label(root, text='这是一个标签', bg='red').pack()
newLable2 = tk.Label(root, text='这是一个标签', bg='blue').pack()
###pack拉手布局,要求但未使用空间的理解例子
newButton1 = tk.Button(root,text='按纽1').pack(side=tk.LEFT,expand=1)
newButton2 = tk.Button(root,text='按纽2').pack(side=tk.LEFT,expand=1)
newButton3 = tk.Button(root,text='按纽3').pack(side=tk.LEFT,expand=1)
###fill填满newButton4
newButton4 = tk.Button(root,text='按纽4').pack(side=tk.LEFT,expand=1,fill='x')
newButton5 = tk.Button(root,text='按纽5').pack(side=tk.LEFT,expand=1)
root.mainloop()