Python:调整窗口大小时调整窗口小部件的大小(使用PLACE管理器)

时间:2017-01-01 16:03:14

标签: python python-3.x tkinter geometry

经过大量阅读后,我找不到解决问题的方法。

我使用Tkinter和Python制作了一个测验程序。我还到处使用了包几何管理器。窗口不可调整大小,它设置为960x540,并且使用X和Y坐标在窗口中精确设置所有小部件。现在,我想制作全屏选项。但是,当我全屏显示时,所有小部件都会在左上角移动(因为它们使用场所管理器设置为X和Y坐标)。不知道小工具怎么可能拉伸'当我把窗户变成全屏? 我知道这可以使用网格管理完成,但我想使用包管理器。

我没有发布任何代码,因为我认为它不会有帮助。如果我错了,请纠正我!

PS:很抱歉我的英文很奇怪,非常感谢你!

enter image description here

1 个答案:

答案 0 :(得分:3)

如果您不想使用网格,则需要使用场所管理员。很多人建议反对它,因为它更复杂,但我喜欢它通过你的GUI给你的控件。

例如,您可以拥有一个始终保持相对位置且具有相对宽度和高度(相对于屏幕大小)的标签

newLabel = tk.Label(root)
newLabel.place(relwidth = 0.5, relheight = 0.2, relx = 0.25, rely = 0.4)

这会创建一个标签,该标签始终是根大小宽度的一半,根高度的20%,并始终在屏幕中居中。

这是关于打包和放置的两个优秀教程,更重要的是它们是打包和放置选项的一个很好的参考(滚动到页面底部以查看所有选项及其描述)。你或许能够得到你想要的东西,但我坚持到位。

http://effbot.org/tkinterbook/pack.htm
http://effbot.org/tkinterbook/place.htm