Python / tkinter – 如何在Windows上获得包含边框的窗口大小?

我正试图根据窗口的宽度和高度来定位窗口.在Windows上,wm_geometry,winfo_width和winfo_height报告的窗口大小是客户区的大小,即没有边框的窗口大小.由wm_geometry,winfo_x和winfo_y报告的窗口位置以及使用wm_geometry设置的位置是窗口左上角的位置,包括边框.

这意味着当我尝试将窗口置于屏幕中央时,屏幕上的位置明显太低.

我不想硬编码边框厚度,因为它可以变化.

是否可以使用Python / tkinter在Windows上获取或推断窗口边框的大小?

最佳答案
http://wiki.tcl.tk/11291开始:

wm几何.返回contentsWidthxcontentsHeight decorationTop decorationLeftEdge.

和winfo rooty.返回contentsTop
和winfo rootx.返回contentsLeftEdge

从中可以计算标题栏高度和左边框宽度(通常与右边框宽度和下边框宽度匹配).这应该适用于Windows,但不一定适用于所有平台.由于链接页面也会检查,因此在确定由于Windows任务栏而可用的屏幕区域的总高度和宽度时也存在问题.

转载注明原文:Python / tkinter – 如何在Windows上获得包含边框的窗口大小? - 代码日志