【发布时间】:2015-07-17 11:19:10
【问题描述】:
我知道有很多这样的帖子。但是,我认为我没有遇到过这样的问题。
我知道下面会抓取屏幕的当前宽度和高度,并将 tkinter 窗口设置为这个大小,然后如果我们希望有一个类似的画布。
import tkinter as tk
root = tk.Tk()
width = root.winfo_screenwidth()
height = root.winfo_screenheight()
root.geometry("%dx%d" % (width, height))
canvas = tk.Canvas(root, .....)
canvas.pack(fill = "both", expand = True)
但是,我注意到使用它时,总是有一部分 tkinter 窗口从屏幕底部的任务栏上被截断。我觉得这有点烦人,特别是如果您希望在底部看到标签或其他此类功能。
有没有办法解决这个问题?我知道我们可以从高度中减去一个偏移因子来解释屏幕底部可能存在的任务栏,但这会笨拙地取代 tkinter 画布。
【问题讨论】:
-
你在哪个平台上?我猜它不是 Mac,而是 Windows 7、Windows 8、Ubuntu ……?
-
对不起,我应该包括 windows 7 但我假设这适用于 windows 8
-
在 Windows 上,AFAIK,Tkinter 无法直接获取此信息 - 但是,如果您将窗口状态设置为缩放而不是显式全屏,它会为您选择合适的大小.让我试着挖掘细节。
-
或者试试这个,如果我没记错的话:
root.state("zoomed")或root.state("zoom")。 -
实际上效果很好。我使用了 root.state("zoom")。这比我预期的要简单得多。
标签: python canvas tkinter tkinter-canvas