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

标签 python python-3.x tkinter geometry

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

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

我没有发布任何代码,因为我认为这没有帮助。如有错误请指正!

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

enter image description here

最佳答案

如果您不想使用网格,则需要使用地点管理器。很多人建议不要使用它,因为它更复杂,但我喜欢它为您提供的 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

关于Python:调整窗口大小时调整小部件的大小(使用 PLACE 管理器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41416788/

相关文章:

Python:tkinter askyesno 方法打开一个空窗口

python - 基于 pandas 条件的列值总和

python - 下载一个 zip 文件并使用 Python3 将其解压缩到内存中

python - 'NoneType' 对象在 Beautiful Soup 4 中不可调用

Python 3 : How can I get os. getcwd() 与 re.sub() 配合得很好吗?

python - tkinter:是否可以使用 native Tcl/Tk tklib 的 ctext 小部件?

python - Pi 计算器输出问题

python - 如何将参数传递给要传递给 itertools.groupby 的 keyfunc?

python - 在 python 中查找所有窗口的 exe 路径

python - 使用 `statsmodels.api.qqplot()` 创建多个子图的最有效方法是什么?