没有控制台/边框的python全屏

时间:2017-05-10 00:18:39

标签: python tkinter console fullscreen

我正在寻找一种方法来创建一个全屏幕窗口,而不是显示控制台(或边框),并在“逃跑”时逃离全屏。被压了。我试图从' py'重命名扩展名。到了' pyw',但它并没有隐藏边栏as some suggested

这是我最大化窗口的代码,但它并不隐藏控制台:

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顶部存在Mac任务栏的空位。 enter image description here

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

谢谢!

1 个答案:

答案 0 :(得分:1)

屏幕分辨率如何:

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()

这是没有边框(取自here):

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。