Tkinter10_布局管理器

本文介绍了Tkinter中的三种布局管理器:pack、grid和place。pack适用于简单布局,grid则更灵活,适合复杂对话框设计。grid通过row和column设置组件位置,place允许精确控制组件大小和位置。同时强调了不要在同一父组件中混用pack和grid。
摘要由CSDN通过智能技术生成

Tkinter10_布局管理器

标签(空格分隔): Tkinter



Tkinter 有三个布局管理器,分别是 pack、grid 和 place,其中:

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

pack

对比 grid 管理器,pack 更适用于少量组件的排列,但它在使用上更简单。如果需要创建相对复杂的布局结构,那么建议是使用多个框架(Frame)结构,或者使用 grid 管理器实现。

tips:不要在同一个父组件中混合使用 pack 和 grid,因为 Tkinter 会计算到底先用哪个布局管理器。

例 50 将一个组件放到一个容器组件中,并填充整个父组件。下面生成一个 Listbox 组件并将它填充到 root 窗口中:

from tkinter import *

root = Tk()
listbox = Listbox(root)
listbox.pack(fill = BOTH, expand = True) 
# fill 告诉窗口管理器该组件将填充整个分配给它的空间
# BOTH 表示同时横向和纵向扩展,X 表示横向,Y 表示纵向
# expoand 选项告诉窗口管理器将父组件的额外空间也填满

for i in range(10):
    listbox.insert(END, str(i))

mainloop()

此处输入图片的描述

默认情况下,pack 是将添加的组件依次纵向排列:

from tkinter import *

root = Tk()

Label(root, text="red", bg="red", fg="white").pack(fill=X)
Label(root, text="green", bg="green", fg="black").pack(fill=X)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值