gpt4 book ai didi

python - 在 Tkinter 上显示全屏模式

转载 作者:IT老高 更新时间:2023-10-28 21:43:21 26 4
gpt4 key购买 nike

如何在 Tkinter 中以全屏模式显示框架?我看到了这段代码,非常有用……:

>>> import Tkinter
>>> root = Tkinter.Tk()
>>> root.overrideredirect(True)
>>> root.geometry("{0}x{1}+0+0".format(root.winfo_screenwidth(), root.winfo_screenheight()))

...但是是否可以编辑代码,以便点击 Esc 自动使窗口“恢复”?

最佳答案

我想这就是你要找的东西:

Tk.attributes("-fullscreen", True)  # substitute `Tk` for whatever your `Tk()` object is called

您也可以使用 wm_attributes 代替 attributes

然后只需绑定(bind)转义键并将其添加到处理程序:

Tk.attributes("-fullscreen", False)

另一个问题的答案暗示了这一点(使用 wm_attributes)。所以,我就是这样发现的。但是,没有人直接出来说这是不知道为什么的答案。所以,我认为它值得发布。

这是一个工作示例(在 Xubuntu 14.04 上测试),它使用 F11 来打开和关闭全屏,而 escape 只会将其关闭:

import sys
if sys.version_info[0] == 2: # Just checking your Python version to import Tkinter properly.
from Tkinter import *
else:
from tkinter import *


class Fullscreen_Window:

def __init__(self):
self.tk = Tk()
self.tk.attributes('-zoomed', True) # This just maximizes it so we can see the window. It's nothing to do with fullscreen.
self.frame = Frame(self.tk)
self.frame.pack()
self.state = False
self.tk.bind("<F11>", self.toggle_fullscreen)
self.tk.bind("<Escape>", self.end_fullscreen)

def toggle_fullscreen(self, event=None):
self.state = not self.state # Just toggling the boolean
self.tk.attributes("-fullscreen", self.state)
return "break"

def end_fullscreen(self, event=None):
self.state = False
self.tk.attributes("-fullscreen", False)
return "break"

if __name__ == '__main__':
w = Fullscreen_Window()
w.tk.mainloop()

如果您也想隐藏菜单,我发现只有两种方法可以做到这一点。一是摧毁它。另一种是制作空白菜单进行切换。

self.tk.config(menu=self.blank_menu)  # self.blank_menu is a Menu object

然后当您希望它再次显示时将其切换回您的菜单。

self.tk.config(menu=self.menu)  # self.menu is your menu.

关于python - 在 Tkinter 上显示全屏模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7966119/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com