tkinter python最大化窗口

Ras*_*sen 32 tkinter python-3.x

我想初始化一个窗口最大化,但我无法找到如何做到这一点.我在Windows 7上使用python 3.3和Tkinter 8.6.我想答案就在这里:http://www.tcl.tk/man/tcl/TkCmd/wm.htm#m8 但我不知道如何输入它进入我的python脚本

此外,我需要获得窗口的宽度和高度(两者都是最大化的,如果用户之后重新缩放它),但我想我可以自己找到它.

kab*_*oom 53

你可以通过电话来完成

root.state('zoomed')
Run Code Online (Sandbox Code Playgroud)

  • 像魅力一样工作,这是唯一真正为我工作的人 (3认同)
  • 也适用于 Windows,与 root.attributes('-zoomed', True) 不同。 (2认同)
  • 这就是我一直在寻找的。:) (2认同)

A. *_*das 33

如果要将fullscreen属性设置为True,它就像以下一样简单:

root = Tk()
root.attributes('-fullscreen', True)
Run Code Online (Sandbox Code Playgroud)

但是,它不显示标题栏.如果要保持可见,可以使用以下geometry()方法调整Tk元素的大小:

root = Tk()
w, h = root.winfo_screenwidth(), root.winfo_screenheight()
root.geometry("%dx%d+0+0" % (w, h))
Run Code Online (Sandbox Code Playgroud)

使用winfo_width()winfo_height()可以获得宽度和高度或窗口,还可以将事件处理程序绑定到<Configure>事件:

def resize(event):
    print("New size is: {}x{}".format(event.width, event.height))

root.bind("<Configure>", resize)
Run Code Online (Sandbox Code Playgroud)

  • 还有 `root.overrideredirect(True)` (删除标题栏) (2认同)
  • 这不会最大化窗口,正如您在右上角的三个小按钮上看到的那样。使用整个屏幕与最大化窗口不同。 (2认同)

小智 29

要使用标题栏显示最大化窗口,请使用"缩放"属性

root = Tk()
root.attributes('-zoomed', True)
Run Code Online (Sandbox Code Playgroud)

  • 它可能只适用于Windows.你也可以这样说:`root.wm_state('zoom')` (3认同)
  • 它不仅适用于Windows.它很适合Xubuntu. (2认同)
  • 适用于 Ubuntu 14.04 - JF 下次最好检查一下自己。 (2认同)

小智 11

我在其他网站上找到了这个:

    import Tkinter

    MyRoot = Tkinter.Tk()
    MyRoot.state("zoomed")

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

这解决了我的问题。

  • @user3292534 的[答案](/sf/answers/1573805131/) 的重复。 (2认同)

tho*_*nev 5

第一种方法是使用root.state('zoomed'),但不应该是普遍可用的.它适用于Windows和我的Ubuntu机器.但是,在我的Arch机器下它没有.


第二个是首先获取maxsize,然后手动设置几何,如:

m = root.maxsize()
root.geometry('{}x{}+0+0'.format(*m))
Run Code Online (Sandbox Code Playgroud)

这适用于大多数机器,但不适用于所有机器.例如,在我的Arch下maxsize()返回(1425, 870),而最大化窗口的真实几何应该是(1440, 848).所以,你也不能依赖它.


第三,在我看来,最好的方法是使用root.wm_attributes('-zoomed', 1).它是普遍可用的,似乎是最安全的.在一些机器上只能按宽度或高度进行缩放,但与之前的方法相比,这个方法永远不会给你一个窗口部分屏幕.

最后,如果您想要全屏,而不仅仅是缩放窗口,请使用root.wm_attributes('-fullscreen', 1).它提供了一个本地链接到窗口管理器的行为,因此工作得更好,比overrideredirect手工使用和设置几何(在某些平台上可能会导致非托管窗口,只能通过自己的界面关闭或杀死进程,赢得' t显示在任务栏等...)