GUI 图形用户界面编程(十一)-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 图形用户界面编程(十一)-pack 布局管理器_第1张图片

 往期回顾

GUI 图形用户界面编程(一): (278条消息) GUI 图形用户界面编程(一)_am_student的博客-CSDN博客

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

(278条消息) GUI 图形用户界面编程(二)经典案例_am_student的博客-CSDN博客

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

(278条消息) GUI 图形用户界面编程(三)基本框架与Label的使用_am_student的博客-CSDN博客

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

 (278条消息) GUI 图形用户界面编程(四)-Button组件_am_student的博客-CSDN博客

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

(357条消息) GUI 图形用户界面编程(五)-登录页面_am_student的博客-CSDN博客

你可能感兴趣的:(gui编程,p2p,linq,gnu)