同时具有标题栏和窗口任务栏的窗口



我到处寻找这个问题,但似乎没有人知道。我在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()))  

问题是窗口现在在Windows任务栏下面,因此我的一些元素没有显示出来。一个简单的方法是将height设置为screenheight-some_constant,或者根据来自操作系统的数据计算some_constant。然而,这似乎是一个非常丑陋的hack。

是否有办法以一种干净的方式最大化窗口在tkinter中,窗口在(Windows)任务栏之上,仍然有一个标题栏?

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

代码:

import Tkinter as tk
root = tk.Tk()
root.state("zoomed")
root.mainloop()

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

,因为你想保留标题栏我将省略overrideredirect。

最新更新