首页 > 解决方案 > 为什么 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)?

标签: pythontkinter

解决方案


这是因为您的操作系统的窗口管理器,您可以在此处通过以下代码进行证明:

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()

更多


推荐阅读