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

b0cde648fcef4aaeb75fa4ec4d3f41fd

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()

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

52ffb2850bdd4da681d526205b1b5439

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

18e84fbd84c8429f961aafab4dd5bb97

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

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%的位置,以此类推。这段代码的执行之后生成如下的画面:

9ad0d24c30e34b97b26d651ac03951f0

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

c05fb256b12144748249b2ef8afc7813

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

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


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

关注【面向对象思考】,轻松学习每一天!

有任何疑问,欢迎留言提问或讨论。

面向对象设计,面向对象编程,面向对象思考!

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页