📜  Python| Tkinter 中的 pack() 方法(1)

📅  最后修改于: 2023-12-03 14:46:25.187000             🧑  作者: Mango

Python | Tkinter 中的 pack() 方法

简介

pack() 是 Python 中 Tkinter 模块提供的一种布局管理器。它能够自动调整子组件的大小,使其能够填充其父容器。pack() 布局管理器通常被用于布置简单的界面。

用法

在 Tkinter 中,pack() 布局管理器是用于以简单的形式在框架中组织控件的基本工具。主要有以下几种参数:

  • side:控件放置的方向,即从哪个方向开始排列,可选值为 LEFTRIGHTTOPBOTTOM
  • anchor:控件相对于父容器位置,可选值为 CENTERNSEWNENWSESW
  • fill:控件填充父容器的方式,可选值为 XYBOTH
  • expand:控件是否随着父容器的扩大而扩大,可选值为 YESNO
  • ipadxipady:控件内部的水平和垂直填充量。即控件内部留白。
代码示例
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() 布局管理器能够方便地实现界面的布局,使用起来非常简单。在实际工作中,需要根据实际情况选择合适的参数和参数值,才能达到预期的布局效果。同时,pack() 布局管理器也有其局限性,无法实现较复杂的布局,对于较为复杂的界面建议使用其他布局管理器。