带有标题栏和 Windows 任务栏的 Tkinter 窗口

Pph*_*nix 3 python taskbar window tkinter fullscreen

我已经广泛搜索这个问题,但似乎没有人知道。我在 python 2.7 中创建了一个简单的 tkinter 窗口 (tcl 8.5) 并希望它最大化,就像我点击右上角的最大化按钮一样。使用该-fullscreen选项不是一个选项,因为它会删除标题栏。

我尝试了以下方法:

import Tkinter

root = Tkinter.Tk()
root.overrideredirect(True)
# Set window to be size of screen
root.geometry("{0}x{1}+0+0".format(root.winfo_screenwidth(), root.winfo_screenheight()))  
Run Code Online (Sandbox Code Playgroud)

问题是该窗口现在位于 Windows 任务栏下方,因此未显示我的一些元素。一个简单的技巧是将高度设置为 screenheight-some_constant,或根据操作系统的数据计算 some_constant。然而,这似乎是一个极其丑陋的黑客行为。

有没有办法以干净的方式最大化 tkinter 中的窗口,其中窗口位于(Windows)任务栏上方并且仍然有标题栏?

Jam*_*ent 7

我知道这是一个老问题,但我已经使用 TCL 版本 8.5 和 tk 版本 8.5 在 XP 系统(32 位)上使用 python 2.7.6 测试了以下代码。

代码:

import Tkinter as tk

root = tk.Tk()

root.state("zoomed")

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

这确实会在主监视器上启动最大化的窗口。
它确实有缺陷 - 我无法使其在另一台显示器上最大化,但在不覆盖标题栏或任务栏的情况下可靠地工作。

由于您想保留标题栏,我会省略覆盖重定向。