python之pack布局管理器

pack 按照组件的创建顺序将子组件添加到父组件中
按照垂直或者水平的方向自然排布。

如果不指定任何选项,默认在父组件中自顶向下垂直添加组件。
pack 是代码量最少,最简单的一种,可以用于快速生成界面。

pack()方法提供的选项

expand
当值为“yes”时,side 选项无效。组件显示在父配 件中心位置;若 fill 选项为”both”,则填充父组件 的剩余空间
“yes”, 自然数,”no”, 0 (默认值”no”或 0)

fill 
填充 x(y)方向上的空间,当属性 side=”top”或” bottom”时,填充 x 方向;当属性 side=”left”或” right”时,填充”y”方向;当 expand 选项为”yes” 时,填充父组件的剩余空间
“x”, “y”, “both”, “none” (默认值为 none)

ipadx , ipady
设置子组件之间的间隔,x 方向或者 y 方向,默认单 位为像素
非负浮点数,默认 0.0

padx, pady
与之并列的组件之间的间隔,x 方向或者 y 方向,默 认单位是像素
非负浮点数,默认 0.0

side 
定义停靠在父组件的哪一边上 “ top ” , “ bottom ” , “left”, “right” (默认为”top”)
 
before 
将本组件于所选组建对象之前 pack,类似于先创建本 组件再创建选定组件 
已经 pack 后的组件对象
 
after 
将本组件于所选组建对象之后 pack,类似于先创建选 定组件再本组件 
已经 pack 后的组件对象 

in_ 
将本组件作为所选组建对象的子组件,类似于指定本 组件的 master 为选定组件 
已经 pack 后的组件对象 

anchor 
对齐方式,左对齐”w”,右对齐”e”,顶对齐”n”, 底对齐”s” 
“n”, “s”, “w”, “e” , “nw”, “sw”, “se”, “ne”, “center”(默认)

"""
测试
"""
from tkinter import *
from tkinter import messagebox
import random


class Application(Frame):
    def __init__(self, mester=None):
        super().__init__(mester)
        self.mester = mester
        self.pack()
        self.creatWidget()

    def creatWidget(self):
        f1 = Frame(root)
        f1.pack()
        f2 = Frame(root)
        f2.pack()
        btnText = ('流行', '古典', '日本', '二次', '金属', '音乐')

        for txt in btnText:
            Button(f1, text=txt).pack(side='left', padx='10')
        for i in range(1, 15):
            Label(f2, width=4, height=10, borderwidth=1, relief='solid',
                  bg='black' if i % 2 == 0 else 'white').pack(side='left', padx='1')


if __name__ == '__main__':
    root = Tk()
    root.geometry('400x200+200+200')
    app = Application(mester=root)
    root.mainloop()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值