Tkinter 布局管理器(一):pack

本文深入探讨Tkinter中的布局管理器,包括pack、grid和place的使用方式及特性。重点介绍了pack布局管理器的工作原理,如何通过pack方法管理组件的大小和位置,并提供了实例代码。同时,提醒读者避免在同一父组件中混用pack和grid,以防布局冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Tkinter布局管理器之pack

  • GUI 编程就相当于小孩子搭积木,每个积木块应该放在哪里,每个积木块显示为多大,也就是对大小和位置都需要进行管理,而布局管理器正是负责管理各组件的大小和位置的。此外,当用户调整了窗口的大小之后,布局管理器还会自动调整窗口中各组件的大小和位置。
  • Tkinter中,有 3 种布局管理器,分别为 pack、grid 和 place。使用 Pack 布局各个组件,当程序向容器中添加组件时,这些组件会依次向后排列,排列方向既可是水平的,也可是垂直的。

pack、grid 和 place 均用于管理同在一个父组件下的所有组件的布局,其中:

  • pack 是按添加顺序排列组件
  • grid 是按行/列形式排列组件
  • place 则允许程序员指定组件的大小和位置

注意:不要在同一个父组件中混合使用 pack 和 grid,因为 Tkinter 会很认真地在那儿计算到底先使用那个布局管理器…以至于你等了半个小时,Tkinter 还在那儿纠结不出结果!

import tkinter as tk
# 创建TK对象,TK代表窗口
root = tk.Tk()
# 设置窗口标题
root.title("pack布局管理器")
for i in range(3):
    lab = tk.Label(root, text="第%d个Label" % (i + 1), bg='#eeeeee')
    # 调用pack进行布局
    lab.pack()
# 启动主窗口的消息循环
root.mainloop()

在这里插入图片描述

import tkinter as tk
root = tk.Tk()
tk.Label(root, text="Red", bg="red", fg="white").pack(fill="x")
tk.Label(root, text="Green", bg="green", fg="black").pack(fill="x")
tk.Label(root, text="Blue", bg="blue", fg="white").pack(fill="x")
root.mainloop()

在这里插入图片描述

packd的方法

pack(**options)
在这里插入图片描述

pack_configure(**options)

  • 跟 pack() 一样

pack_forget()

  • 将组件从屏幕中“删除”
  • 并没有销毁该组件,只是看不到了
  • 可以通过 pack 或其他布局管理器显示已“删除”的组件

pack_info()

  • 以字典的形式返回当前 pack 的选项

pack_propagate(flag)

  • 如果开启,父组件会自动调节尺寸以容纳所有子组件
  • 默认值是开启(flag = True)
  • 该方法仅适用于父组件

pack_slaves()

  • 以列表的形式返回该组件的所有子组件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

!一直往南方开.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值