python 全屏无 console/borders

python full screen without console/borders

我正在寻找一种创建全屏 window 且不显示控制台(或边框)并在按下 'escape' 时退出全屏的方法。我试图将扩展名从 'py' 重命名为 'pyw',但它没有隐藏边栏 as some suggested

这是我最大化 window 的代码,但它没有隐藏控制台:

def __init__(master): #I'm using tkinter for my GUI
    master = master
    width, height = master.winfo_screenwidth(), master.winfo_screenheight()
    master.geometry("%dx%d+0+0" % (width, height))

此外,我需要在 Mac 和 Windows 上使用脚本,如果我需要隐藏控制台,它们的工作方式是否不同?

我已经尝试 overrideredirect(True),但它不允许我使用键盘,而这是我的任务所必需的。我也试过 wm_attributes('-fullscreen', True) ,但它并没有完全创建全屏, Mac 任务栏所在的顶部有空位。

有没有什么方法可以让我在没有工具栏的情况下使用全屏 (MacOS),并且键盘可以正常工作?

谢谢!

屏幕分辨率如何:

from Tkinter import *
import ttk

def escape(root):
        root.geometry("200x200")

def fullscreen(root):
        width, height = root.winfo_screenwidth(), root.winfo_screenheight()
        root.geometry("%dx%d+0+0" % (width, height))
        
master = Tk()
width, height = master.winfo_screenwidth(), master.winfo_screenheight()
master.geometry("%dx%d+0+0" % (width, height))
master.bind("<Escape>", lambda a :escape(master))
#Added this for fun, when you'll press F1 it will return to a full screen.
master.bind("<F1>", lambda b: fullscreen(master))
master.mainloop()

这是无边框的(取自):

import tkinter as tk
root = tk.Tk()
root.attributes('-alpha', 0.0) #For icon
#root.lower()
root.iconify()
window = tk.Toplevel(root)
window.geometry("100x100") #Whatever size
window.overrideredirect(1) #Remove border
#window.attributes('-topmost', 1)
#Whatever buttons, etc 
close = tk.Button(window, text = "Close Window", command = lambda: root.destroy())
close.pack(fill = tk.BOTH, expand = 1)
window.mainloop()

控制台的唯一解决方案是将文件另存为 .pyw,正如您已经阅读的那样。您也可以尝试使用 overrideredirect(1) 覆盖 Tk 函数,但这会更复杂。

Yahli,希望这对你有所帮助。