python - 为什么 tkinter 应用程序没有定位在 (0, 0)?
问题描述
我有一个使用 tkinter 创建的顶级窗口。当我设置几何图形时,应用程序未按预期定位。
import tkinter as tk
root = tk.Tk()
root.geometry("500x500+0+0")
root.mainloop()
运行上述代码后,窗口会稍微关闭(7 像素)。我通过在最大化窗口后打印 x 和 y 值发现了这一点。
def print_coordinates_of_window_when_state_is_zoomed(root):
print(root.winfo_x()) # prints -7
print(root.winfo_y()) # prints 0
有没有办法解决这个问题?或者,是否有任何 Windows PC 具有相同的偏移量(即 -7)?
解决方案
这是因为您的操作系统的窗口管理器,您可以在此处通过以下代码进行证明:
import tkinter as tk
root = tk.Tk()
root.overrideredirect(1)
root.geometry("500x500+0+0")
root.mainloop()
如果删除overrideredirect(1)
,您会注意到偏移量是鼠标可以调整窗口大小的空间。
overrideredirect
在不使用的情况下摆脱问题-
import tkinter as tk
root = tk.Tk()
root.geometry("500x500+-7+0")
root.mainloop()
推荐阅读
- reactjs - 在 useEffect 中只调用一次两个函数
- excel - 在excel中查找和替换
- authentication - 使用 AWS Cognito 登录的最佳方法
- angular - 生产环境中的 docker 容器端点名称
- javascript - 如何更改最初由timelineMax设置的div的属性?
- bash - 如何将包含感叹号 (!) 的参数传递给函数
- amazon-web-services - AWS 到非 AWS SSH
- filechooser - 如何应用检查 javafx 的主目录和子目录中没有两个同名文件
- python-3.x - PyQt:如何隐藏一切?(整个应用程序)
- c# - 如何在 UWP 上将位图转换为位图图像?