2017-06-02 124 views
3

我刚刚学习python,我正在尝试使窗口变成全屏,这是我已经实现的,但我现在想要摆脱顶部的标题栏。它目前看起来像下面的图片,但我希望它也可以在顶部的Mac顶部工具栏(如启动画面)。如何在macOS上以全屏显示tkinter应用程序?

enter image description here

from tkinter import * 
root = Tk() 

root.attributes('-fullscreen', True) 
root.attributes('-topmost', True) 
root.overrideredirect(True) 



def quitApp(): 
    # mlabel = Label (root, text = 'Close').pack() 
    root.destroy() 

# placing the button on my window 
button = Button(text = 'QUIT', command = quitApp).pack() 
+0

有[overrideredirect](https://stackoverflow.com/questions/38162932/what-does-overrideredirect-do)方法,该方法的工作原理与Windows,但不知道如何/如果它在Mac上工作。 – Lafexlos

+0

我试过,但没有做任何事情(也许我做错了) – BCLtd

回答

3

我相信你想做的事就是使用

root.wm_attributes('-fullscreen','true')

试试这个。它应该做的伎俩。

from tkinter import * 
root = Tk() 

root.wm_attributes('-fullscreen','true') 

def quitApp(): 
    root.destroy() 

button = Button(text = 'QUIT', command = quitApp).pack() 

root.mainloop() 

如果这样做,不是因为MacOS的一起工作,然后看看这个link这个有用的页面有断绝了如何在Tkinter的管理麦克窗口的例子。我相信你可能需要无边界全屏。

这段代码可能是你需要的东西:

root.tk.call("::tk::unsupported::MacWindowStyle", "style", root._w, "plain", "none") 

注意:如果你使用这个选项,那么你将需要从你的代码中删除root.wm_attributes('-fullscreen','true')或只是其注释掉。

更新:

tkinter 8.5+还有一些代码。

如果使用用蟒Tkinter的8.5或更新:

root.wm_attributes('-fullscreen', 1) 
+0

嗨,即摆脱了Mac工具栏(如果多数民众赞成在它称为),但仍显示应用程序标题栏 – BCLtd

+0

@BCLtd:我更新了我的答案与一些更多信息。 –

+0

这是做了伎俩,谢谢! – BCLtd

相关问题