【Python】图形界面编程 —— 布局管理器

本文介绍了Python GUI编程中的三种布局管理器:Pack、Grid和Place。Pack按照组件顺序排列,Grid通过行列组织组件,Place允许绝对定位。详细讲解了各管理器的选项和使用场景,帮助开发者更好地布局GUI应用。
摘要由CSDN通过智能技术生成

GUI(图形用户界面)编程就相当于小孩子搭积木,每个积木应该放在哪里,每个积木显示为多大,也就是对大小和位置都需要进行管理,而布局管理器正是负责管理各组件的大小和位置的。

一、Pack布局管理器

使用Pack布局,那么当程序向容器中添加组件时,这些组件会依次向后排列,排列方向既可是水平的,也可是垂直的。

from tkinter import *

root = Tk()
root.title('Pack布局')
for i in range(3):
    # bg='#eeeeee'指背景颜色为浅灰色
    lab = Label(root, text='第%d个Label' % (i + 1), bg='#eeeeee')
    # 调用pack进行布局
    lab.pack()
root.mainloop()

在这里插入图片描述

pack() 方法支持如下选项:

  • anchor:当可用空间大于组件所需要的大小时,该选项决定组件被放置在容器的何处。该选项支持 N(北,表示上), E(东,表示右), S(南,表示下), W(西,表示左), NW(西北,表示左上), NE(东北,表示右上),SW(西南,表示左下), SE(东南,表示右下),
    CENTER(中,默认值)
  • expand:该bool值指定当父类容器增大时是否拉伸组件
  • fill:设置组件是否沿水平或者垂直方向填充。该选项支持NONE, X, Y, BOTH四个值。其中NONE表示不填充,BOTH表示沿着两个方向填充。
  • ipadx:指定组件在x方向(水平)上的内部留白
  • ipady:指定组件在y方向(水平)上的内部留白
  • padx:指定组件在x方向(水平)上与其他组件的间距
  • pady:指定组件在y方向(水平)上与其他组件的间距
  • side:设置组件的添加位置,可以设置为TOP, BOTTOM, LEFT, RIGHT这四个值的其中之一
    当程序界面比较复杂时,就需要使用多个容器(Frame)分开布局,然后再将Frame添加到窗口中。
from tkinter import *
class App:
    def __init__(self, master):
        self.master = master
        self.initWidgets()

    def initWidgets(self):
        # 创建第一个容器
        fm1 = Frame(self.master)
        # 该容器放在左边排列
        fm1.pack(side=LEFT, fill=BOTH, expand=YES)
        # 向fm1中添加三个按钮
        # 设置按钮从顶部开始排列,且按钮只能在水平(x)方向上填充
        Button(fm1, text='fm1第一个').pack(side=TOP, fill=X, expand=YES)
        Button(fm1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值