How do I display a tkinter application in fullscreen on macOS?

微笑、不失礼 提交于 2019-12-19 10:01:51

问题


I am just learning python, and I am trying to make a window go full screen, which I have achieved, but I am now wanting to get rid of the title bar across the top. It currently looks like the image below, but I want it to also go over the Mac top toolbar at top (like a splash screen).

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

回答1:


I believe what you want to do is use

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

Try this instead. It should do the trick.

from tkinter import *
root = Tk()

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

def quitApp():
    root.destroy()

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

root.mainloop()

If this does not work because of the MacOS then take a look at this link This useful page has sever examples of how to manage mack windows in tkinter. And I believe what you may need to get borderless fullscreen.

This bit of code might be what you need:

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

Note: If you do use this option then you will need to remove root.wm_attributes('-fullscreen','true') from your code or just comment it out.

Update:

There is also another bit of code for tkinter 8.5+.

If you are using python with tkinter 8.5 or newer:

root.wm_attributes('-fullscreen', 1)


来源:https://stackoverflow.com/questions/44328765/how-do-i-display-a-tkinter-application-in-fullscreen-on-macos

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!