为什么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()

更多

最新更新