Tkinter编程应知应会(5)-place布局管理器

place布局管理器是Tkinter支持的第三种布局管理器,它允许程序员直接指定控件的位置和大小。例如下面的代码:

 

 

from tkinter import *root = Tk()# 绝对位置Button(root,text="绝对坐标摆放1").place(x=20, y=10, width=150, height=50)Button(root, text="绝对坐标摆放2").place(x=20, y = 80, width=150, height=50)root.mainloop()

通过指定两个按钮的绝对坐标,宽度和高度生成以下的画面:

读者尝试拖动窗口的有边界和下边界可以知道,无论如何调整窗口的大小,两个按钮的大小和位置都不会发生改变:

也可以按照相对坐标摆放控件的位置,例如下面的代码:

 

 

from tkinter import *root = Tk()Button(root,text="相对坐标摆放1").place(relx=0.2, rely=0.2, relwidth=0.6, relheight=0.2)Button(root,text="相对坐标摆放2").place(relx=0.2, rely=0.6, relwidth=0.6, relheight=0.2)root.mainloop()

和使用绝对坐标时的区别就在于在每个属性的前面都加一个rel前缀。数值的含义是窗口宽或高的相对值。例如relx=0.2从含义按钮的开始位置时窗口宽度20%的位置,以此类推。这段代码的执行之后生成如下的画面:

如果读者拖动窗口的边界扩大窗口的大小,空间的尺寸和位置也会随之发生变化,但是在水平和垂直两个方向上位置比例不变。

place布局管理器虽然看起来简单,但是但控件的数量多了以后,坐标的计算和维护都会变得很复杂。正是由于这个原因,几乎没有Tkinter应用会使用这种布局管理器。

但是由用户这种方式对于控件位置和尺寸的安全控制,如果我们希望自已定义一种布局方式,这种方式可以作为基础。

 

觉得本文有帮助?请分享给更多人。

阅读更多更新文章,请扫描下面二维码,关注微信公众号【面向对象思考】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值