Python/tkinter - 如何在 Windows 上获取包括边框的窗口大小?

标签 python windows tkinter tk-toolkit

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

这意味着当我尝试将窗口居中放置在屏幕上时,该位置在屏幕上明显太低了。

我不想对边框粗细进行硬编码,因为它可能会有所不同。

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

最佳答案

来自 http://wiki.tcl.tk/11291 :

wm geometry. 返回 contentsWidthxcontentsHeight+decorationTop+decorationLeftEdge。

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

从中您可以计算标题栏高度和左边框宽度(通常与右边框和底边框宽度相匹配)。这应该适用于 Windows,但不一定适用于所有平台。正如链接页面还检查的那样,由于 Windows 任务栏,在确定可用屏幕区域的总高度和宽度方面也存在问题。

关于Python/tkinter - 如何在 Windows 上获取包括边框的窗口大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33231484/

相关文章:

python - 你如何在 Music21 中给音符上色?

windows - 将非 VCL 窗口添加到 VCL 对齐队列

java - Windows下调试JVM崩溃

windows - 在 Windows 上安装病原体 vim 插件

python-2.7 - 在没有 Sudo 访问的 Linux 上的 virtualenv 中安装 Tkinter

python - 如何合并具有冲突坐标的 xArray 数据集

Python Ping IP 地址及其结果

python - Django预取相关和选择相关

python - 在 Python : Getting "name ' Tk' is not defined"only at Command Prompt, 中编程在 IDLE 中工作

Python Tkinter 滚动文本