【发布时间】: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