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()控制大容器小容器的位置
联合可以控制组件的位置