31-几何布局-place

place

place()方法:根据控件实例在父容器中的绝对或相对位置参数进行布局。place可实现更加精确的定位。

参数

属性名属性简析取值取值说明
anchor锚点, 当可用空间大于所需求的尺寸时,决定组件被放置于容器的何处N、E、S、W、NW、NE、SW、SE、CENTER(默认值)表示八个方向以及中心
x/y组件左上角的x、y坐标整数,默认值0绝对位置坐标,单位像素
relx/rely组件相对于父容器的x、y坐标0~1之间浮点数相对位置,0.0表示左边缘(或上边缘),1.0表示右边缘(或下边缘)
width/height组件的宽度、高度非负整数单位像素
relwidth/relheight组件相对于父容器的宽度、高度0~1之间浮点数relx(rely)取值类似
bordermode若是设置为INSIDE,组件内部的大小和位置是相对的,不包括边框;若是是OUTSIDE,组件的外部大小是相对的,包括边框INSIDE(默认)、OUTSIDE可使用常量INSIDEOUTSIDE,也可使用字符串形式insideoutside

利用place()方法配合relx,relyrelheight,relwidth参数所得的到的界面可自适应根窗体尺寸的大小。place()方法与grid()方法可以混合使用。

方法

  • place_slaves(): 以列表方式返回本组件的全部子组件对象
  • place_configure(option=value): 给place布局管理器设置属性,使用属性option=value方式设置
  • propagate(boolean): 设置为True表示父组件的几何大小由子组件决定(默认值),反之则无关
  • place_info(): 返回place提供的选项所对应得值
  • grid_forget(): Unpack组件,将组件隐藏而且忽略原有设置,对象依旧存在,能够用pack(option, …),将其显示
  • location(x, y): x/y为以像素为单位的点,函数返回此点是否在单元格中,在哪一个单元格中。返回单元格行列坐标,(-1, -1)表示不在其中
  • size(): 返回组件所包含的单元格,揭示组件大小

例子

当复杂布局可充分利用place方法,relx, rely, relheight, relwidth,来实现不同frame完全占据指定区域划分。

如下方式布局便实现了,左右两个frame组件左右平分布局各一半

from tkinter import Tk, Frame, Text

root = Tk()
root.geometry('700x500')

win_l = Frame(root, relief="sunken")
win_l.place(relx=0, rely=0, relheight=1, relwidth=0.5)

win_r = Frame(root, relief="sunken")
win_r.place(relx=0.5, rely=0, relheight=1, relwidth=0.5)

Text(win_l).place(relheight=1, relwidth=1)
Text(win_r).place(relheight=1, relwidth=1)

root.mainloop()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

士别三日,当挖目相待

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值