布局管理--pack

本文详细介绍了Tkinter GUI编程中pack布局的使用,包括基本概念、参数解析及实战案例。通过案例展示了如何使用pack()方法向窗口添加标签、按钮等组件,并调整它们的位置和填充方式,帮助读者深入理解Tkinter的布局管理。
摘要由CSDN通过智能技术生成

推荐阅读:

  1. sif_666的博客–pack布局参数详解
  2. 梦醒时候的博客–pack布局控件分布

pack()

pack()布局方式较为简单,向程序中添加组件时,这些组件会依次向后排列,排列方向可以是水平或垂直的,主适用于少量组件的顺序排列

案例:pack向窗口中添加三个标签

import tkinter
root=tkinter.Tk()
root.title('pack布局')
for i in rnage(3):
	label=tkinter.Label(root,text=f'第{i+1}个标签')
	label.pack()
root.mainloop()	

运行结果
在这里插入图片描述

pack布局参数

我们使用help方法查看pack方法支持的选项
在这里插入图片描述
从上面的显示信息我们可以看出pack方法支持的参数

参数描述
anchor设置组件被放置在容器何处N,E,S,W,NW,NE,SW,SE,CENTER
expand当父容器增大时是否拉伸组件True/False
fill设置组件沿着水平或竖直方向填充NONE,X,Y,BOTH
ipadx指定组件在x方向上的内部留白
ipadx指定组件在y方向上的内部留白
padx指定组件在x方向上与其它组件的间距
pady指定组件在y方向上与其它组件的间距
side设置组件的添加位置,TOP,BOTTOM,LEFT,RIGHT

案例:pack布局简单使用

from tkinter import *
class App:
    def __init__(self,master):
        self.master=master
        self.fun()
    def fun(self):
    	# 创建第一个容器
        fm1=Frame(self.master)
        fm1.pack(side=LEFT,fill=BOTH,expand=True)		# 设置容器1放在父窗体左边,BOTH表示按钮沿两个方向填充,父容器增大时拉伸
        Button(fm1,text='按钮1').pack(side=TOP,fill=X,expand=True)		# 按钮从顶部开始排列,且按钮只能在水平方向上填充
        Button(fm1,text='按钮2').pack(side=TOP,fill=X,expand=True)
        Button(fm1,text='按钮3').pack(side=TOP,fill=X,expand=True)
        # 创建第二个容器
        fm2=Frame(self.master)
        fm2.pack(side=LEFT,padx=10,expand=True)
        Button(fm2,text='按钮x').pack(side=RIGHT,fill=Y,expand=True)		# 三个按钮从右向左依次排列
        Button(fm2,text='按钮y').pack(side=RIGHT,fill=Y,expand=True)
        Button(fm2,text='按钮z').pack(side=RIGHT,fill=Y,expand=True)
        fm3=Frame(self.master)
        fm3.pack(side=RIGHT,padx=10,fill=BOTH,expand=True)
        tkinter.Button(fm3,text='按钮a').pack(side=BOTTOM,fill=X,expand=True)
        tkinter.Button(fm3,text='按钮b').pack(side=BOTTOM,fill=X,expand=True)
        tkinter.Button(fm3,text='按钮c').pack(side=BOTTOM,fill=X,expand=True)
root=Tk()
root.title('pack布局')
display=App(root)
root.mainloop()

运行结果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

夺笋123

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

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

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

打赏作者

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

抵扣说明:

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

余额充值