📅  最后修改于: 2023-12-03 14:46:25.187000             🧑  作者: Mango
pack()
是 Python 中 Tkinter 模块提供的一种布局管理器。它能够自动调整子组件的大小,使其能够填充其父容器。pack()
布局管理器通常被用于布置简单的界面。
在 Tkinter 中,pack()
布局管理器是用于以简单的形式在框架中组织控件的基本工具。主要有以下几种参数:
side
:控件放置的方向,即从哪个方向开始排列,可选值为 LEFT
,RIGHT
,TOP
,BOTTOM
。anchor
:控件相对于父容器位置,可选值为 CENTER
,N
,S
,E
,W
,NE
,NW
,SE
,SW
。fill
:控件填充父容器的方式,可选值为 X
,Y
,BOTH
。expand
:控件是否随着父容器的扩大而扩大,可选值为 YES
,NO
。ipadx
和 ipady
:控件内部的水平和垂直填充量。即控件内部留白。import tkinter as tk
root = tk.Tk()
title = tk.Label(root, text="pack() 布局管理器", font=("Arial", 20))
title.pack(side=tk.TOP, fill=tk.X, padx=50, pady=10)
frame = tk.Frame(root)
frame.pack(side=tk.TOP, fill=tk.BOTH, expand=True, padx=50, pady=10)
label1 = tk.Label(frame, text="Label1", font=("Arial", 16))
label1.pack(side=tk.LEFT, fill=tk.BOTH, expand=True, padx=5, pady=5)
label2 = tk.Label(frame, text="Label2", font=("Arial", 16))
label2.pack(side=tk.LEFT, fill=tk.BOTH, expand=True, padx=5, pady=5)
label3 = tk.Label(frame, text="Label3", font=("Arial", 16))
label3.pack(side=tk.TOP, fill=tk.BOTH, expand=True, padx=5, pady=5)
root.mainloop()
运行以上代码,结果如下所示:
pack()
布局管理器能够方便地实现界面的布局,使用起来非常简单。在实际工作中,需要根据实际情况选择合适的参数和参数值,才能达到预期的布局效果。同时,pack()
布局管理器也有其局限性,无法实现较复杂的布局,对于较为复杂的界面建议使用其他布局管理器。