我正在尝试根据窗口的宽度和高度来定位我的窗口。在 Windows 上,wm_geometry
、winfo_width
和 winfo_height
报告的窗口大小是客户区的大小,即没有边框的窗口大小。由 wm_geometry
、winfo_x
和 winfo_y
报告的窗口位置,以及使用 wm_geometry
设置的位置,是窗口左上角的位置,包括边框。
这意味着当我尝试将窗口居中放置在屏幕上时,该位置在屏幕上明显太低了。
我不想对边框粗细进行硬编码,因为它可能会有所不同。
是否可以使用 Python/tkinter 获取或推断 Windows 上窗口边框的大小?
最佳答案
wm geometry.
返回 contentsWidthxcontentsHeight+decorationTop+decorationLeftEdge。
和winfo rooty .
返回 contentsTop
和 winfo rootx 。
返回 contentsLeftEdge
从中您可以计算标题栏高度和左边框宽度(通常与右边框和底边框宽度相匹配)。这应该适用于 Windows,但不一定适用于所有平台。正如链接页面还检查的那样,由于 Windows 任务栏,在确定可用屏幕区域的总高度和宽度方面也存在问题。
关于Python/tkinter - 如何在 Windows 上获取包括边框的窗口大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33231484/