GUI 图形用户界面编程(十一)-pack 布局管理器

✨✨✨ 感谢优秀的你打开了小白的文章 “希望在看文章的你今天又进步了一点点,离美好生活更近一步!”🌈

pack 布局管理器

pack 按照组件的创建顺序将子组件添加到父组件中,按照垂直或者水平的方向自然排布。如果不指定任何选项,默认在父组件中自顶向下垂直添加组件。

pack 是代码量最少,最简单的一种,可以用于快速生成界面。

✨✨✨ 感谢优秀的你打开了小白的文章 “希望在看文章的你今天又进步了一点点,离美好生活更近一步!”🌈 pack 布局管理器 pack 按照组件的创建顺序将子组件添加到父组件中,按照垂直或者水平的方向自然排布。如果不指定任何选项,默认在父组件中自顶向下垂直添加组件。 pack 是代码量最少,最简单的一种,可以用于快速生成界面。

区别

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

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

具体含义和用法: anchor

1. 控制组件在 pack 分配的空间中的位置 2. "n", "ne", "e", "se", "s", "sw", "w", "nw", 或者 "center" 来定位(ewsn 代表东西南北,上北下南左西右东) 3. 默认值是 "center" expand

1. 指定是否填充父组件的额外空间2. 默认值是 False fill

1. 指定填充 pack 分配的空间 2. 默认值是 NONE,表示保持子组件的原始尺寸 3. 还可以使用的值有:"x"(水平填充),"y"(垂直填充)和 "both"(水平和垂直填充) in_

1. 将该组件放到该选项指定的组件中 2. 指定的组件必须是该组件的父组件

ipadx 指定水平方向上的内边距 ipady 指定垂直方向上的内边距 padx 指定水平方向上的外边距 pady 指定垂直方向上的外边距

side

1. 指定组件的放置位置 2. 默认值是 "top" 3. 还可以设置的值有:"left","bottom","right"

pack_configure(**options) -- 跟 pack() 一样 pack_forget() -- 将组件从屏幕中“删除” -- 并没有销毁该组件,只是看不到了 -- 可以通过 pack 或其他布局管理器显示已“删除”的组件 pack_info() -- 以字典的形式返回当前 pack 的选项 pack_propagate(flag) -- 如果开启,父组件会自动调节尺寸以容纳所有子组件 -- 默认值是开启(flag = True) -- 该方法仅适用于父组件 pack_slaves() -- 以列表的形式返回该组件的所有子组件 -- 该方法仅适用于父组件

钢琴实例

# coding=utf-8
# 测试pack布局管理

from tkinter import *

root = Tk();root.geometry("700x220")

# Frame是一个矩形区域,就是用来放置其他子组件
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,13):
    Label(f2,width=5,height=10,borderwidth=1,relief="solid",
          bg="black" if i%2==0 else "white").pack(side="left",padx=2)

root.mainloop()

结果展示:

🚀往期回顾

📣GUI 图形用户界面编程(一):

📣GUI 图形用户界面编程(二):

📣GUI 图形用户界面编程(三):

📣GUI 图形用户界面编程(四):

📣GUI 图形用户界面编程(五):

经验分享 程序员 微信小程序 职场和发展