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


肥皂起泡泡
浏览 94回答 1
1回答

慕容森

这是因为你的操作系统的窗口管理器,你可以通过这里的代码来证明这一点:import tkinter as tkroot = tk.Tk()root.overrideredirect(1)root.geometry("500x500+0+0")root.mainloop()如果删除,overrideredirect(1)您会注意到偏移量是鼠标可以调整窗口大小的空间。要摆脱问题而不使用overrideredirect只需使用-import tkinter as tkroot = tk.Tk()root.geometry("500x500+-7+0")root.mainloop()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python