python库tkinter常用布局pack(),pack中三个很重要的东西fill,side,expand:
新建一个框架(注意顶部框架不会展开也不会填充xy):
###pack的属性fill,side的各种用法
f1 = tk.Frame(root)
pack布局中的side和fill:
label1 = tk.Label(f1, text='pack布局中的side和fill示例', bg='blue', fg='white').pack()
b1 = tk.Button(f1, text='E').pack( side=tk.LEFT, fill=tk.Y)
b2 = tk.Button(f1, text='F').pack( side=tk.RIGHT, fill='y')
b3 = tk.Button(f1, text='G').pack( side=tk.TOP, fill=tk.BOTH)
b4 = tk.Button(f1, text='H').pack( side=tk.BOTTOM, fill=tk.NONE)
f1.pack()
pack布局中的fill和expand:
##pack布局中expand用法
tk.Label(root,text='pack布局中expand示例',bg='yellow',fg='red').pack()
tk.Button(root,text='我不扩展').pack()
tk.Button(root,text='我不向x方向扩展,但我填充').pack(expand=1)
tk.Button(root,text='我向x方向扩展,但我填充').pack(fill=tk.X,expand=1)
运行结果:
完整代码:
import tkinter as tk
root = tk.Tk()
###pack的属性fill,side的各种用法
f1 = tk.Frame(root)
###pack布局中的side和fill
label1 = tk.Label(f1, text='pack布局中的side和fill示例', bg='blue', fg='white').pack()
b1 = tk.Button(f1, text='E').pack( side=tk.LEFT, fill=tk.Y)
b2 = tk.Button(f1, text='F').pack( side=tk.RIGHT, fill='y')
b3 = tk.Button(f1, text='G').pack( side=tk.TOP, fill=tk.BOTH)
b4 = tk.Button(f1, text='H').pack( side=tk.BOTTOM, fill=tk.NONE)
##注意顶部框架不会展开也不会填充xy
f1.pack()
##pack布局中expand用法
tk.Label(root,text='pack布局中expand示例',bg='yellow',fg='red').pack()
tk.Button(root,text='我不扩展').pack()
tk.Button(root,text='我不向x方向扩展,但我填充').pack(expand=1)
tk.Button(root,text='我向x方向扩展,但我填充').pack(fill=tk.X,expand=1)
root.mainloop()