部分代码转载:某博主部分代码
from tkinter import *
class App:
def __init__(self, master):
fm1 = Frame(master) # 使用Frame产生第二层容器,Tk()只能提供一层
# Button是一种按钮组件,与Label类似,只是多出了响应点击的功能
Button(fm1, text='Top').pack(side=TOP, fill=X) # fill功能不太清楚
Button(fm1, text='Center').pack(side=TOP, fill=X)
Button(fm1, text='Bottom').pack(side=TOP, fill=X)
fm1.pack(side=LEFT, pady=10) # 结合pack的side参数控制每层容器的位置
# fm1.pack(anchor=W)
fm2 = Frame(master)
Button(fm2, text='Left').pack(side=LEFT)
Button(fm2, text='This is the Center button').pack(side=LEFT) # 二层中小层左左分布,也是左右分布
Button(fm2, text='Right').pack(side=LEFT)
fm2.pack(side=RIGHT, padx=10) # 一二层容器是左右分布
root = Tk()
root.title("Pack - Example")
display = App(root)
root.mainloop()
结果:
结论:
Frame()类产生第二层容器,pack()控制大容器小容器的位置
联合可以控制组件的位置