【问题标题】:窗口与左上角不对齐
【发布时间】:2016-04-03 20:41:52
【问题描述】:

我想创建一个Tkinter 窗口,但是下面的代码没有和屏幕的左上角对齐:

import tkinter

class FullScreenWindow(tkinter.Frame):
    def __init__(self):
        self.root = tkinter.Tk()
        w = self.root.winfo_screenwidth()
        h = self.root.winfo_screenheight()
        x = 0
        y = 0
        self.root.geometry('%dx%d+%d+%d' % (w, h, x, y))

        self.root.mainloop()

if __name__ == "__main__":
    app = FullScreenWindow()

谁能告诉我为什么?我以为几何是从左上角开始测量的。

请注意,当我运行 PIL.ImageGrab.grab(bbox = (0,0,100,100)) 时,屏幕从左上角正确捕获。
我在 Windows 10 上运行 Python 3.4。

编辑:这实际上是 Windows 10 的问题。弹出窗口(包括 tkinter 生成的窗口)向右移动了几个像素。现在,我将手动将窗口向左轻推。

【问题讨论】:

  • 这可能是特定于 Windows 10 的问题,因为您的代码似乎在 Windows 8.1 上对我来说运行良好。请注意,虽然框架的宽度和高度是在不考虑窗口镶边的情况下测量的,所以在 Windows 8.1 上,这会占用相当多的像素,使得内容的位置也不是 0/0。尽管有更薄的 chrome,但这个 delta 可能会保留在 Windows 10 上。
  • 我以为Tkinter有全屏选项,这只是让屏幕占据了大部分屏幕。
  • SO 有一个搜索框:使用它。 [tkinter] fullscreen 返回多个帖子。例如,stackoverflow.com/questions/7966119/… 给出了两种解决方案。

标签: python-3.x tkinter windows-10


【解决方案1】:

app=Full ScreenWindow()之后,插入app.state('zoomed')

片段:

    app=Full ScreenWindow()
    app.state('zoomed')

【讨论】:

    猜你喜欢
    • 2012-04-24
    • 2019-06-13
    • 2015-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    相关资源
    最近更新 更多