到目前为止,我有一个命令使我的窗口全屏。现在,可以预见,我希望能够退出全屏。
这是我的代码:
def toggFullscreen(self, win):
def exitFullscreen(event=None):
win.withdraw()
win.deiconify()
win.overrideredirect(False)
win.geometry('1024x700')
w = win.winfo_screenwidth()
h = win.winfo_screenheight()
win.overrideredirect(True)
win.geometry('%dx%d+0+0' % (w, h))
win.focus_set()
win.bind('<Escape>', exitFullscreen)
但问题是我无法重新出现窗框。我认为做win.overrideredirect(False)
会有效,但它没有。
答案 0 :(得分:1)
不确定为什么它无法在您的计算机上运行,但请尝试以下代码示例:
#!python3
import tkinter as tk
geom=""
def fullscreen():
global geom
geom = root.geometry()
w = root.winfo_screenwidth()
h = root.winfo_screenheight()
root.overrideredirect(True)
root.geometry('%dx%d+0+0' % (w, h))
def exitfullscreen():
global geom
root.overrideredirect(False)
root.geometry(geom)
root = tk.Tk()
tk.Button(root,text ="Fullscreen", command=fullscreen).pack()
tk.Button(root,text ="Normal", command=exitfullscreen).pack()
root.mainloop()
我确定要做的一件事是在全屏前存储几何图形,然后在退出全屏时重新应用它。需要全局语句,因为如果我没有使用它,fullscreen
函数将几何存储在局部变量中,而不是我在顶部创建的那个。