Hoe een volledig scherm in Tkinter te maken

  1. Windows root.attributes('-fullscreen', True) om de modus Volledig scherm in Tkinter te maken
  2. Ubuntu root.attributes('-zoomed', True) om de modus Volledig scherm in Tkinter te maken
  3. Weergave Volledig scherm met getoonde werkbalk

In deze tutorial laten we zien hoe u een volledig scherm in Tkinter kunt maken en hoe u de modus Volledig scherm kunt schakelen of afsluiten.

Verfblikken schoon houden
Verfblikken schoon houden

Windows root.attributes('-fullscreen', True) om de modus Volledig scherm in Tkinter te maken

tk.Tk.attributes stelt platformspecifieke attributen in. De attributen in Windows zijn,

  • -alpha
  • -transparentcolor
  • -disabled
  • -fullscreen
  • -toolwindow
  • -topmost

-fullscreen geeft aan of het venster op volledig scherm staat of niet.

import tkinter as tk

class Fullscreen_Example:
    def __init__(self):
        self.window = tk.Tk()
        self.window.attributes('-fullscreen', True)  
        self.fullScreenState = False
        self.window.bind("<F11>", self.toggleFullScreen)
        self.window.bind("<Escape>", self.quitFullScreen)

        self.window.mainloop()

    def toggleFullScreen(self, event):
        self.fullScreenState = not self.fullScreenState
        self.window.attributes("-fullscreen", self.fullScreenState)

    def quitFullScreen(self, event):
        self.fullScreenState = False
        self.window.attributes("-fullscreen", self.fullScreenState)

if __name__ == '__main__':
    app = Fullscreen_Example()  
self.window.bind("<F11>", self.toggleFullScreen)

F11 is gebonden aan de functie toggleFullScreen.

    def toggleFullScreen(self, event):
        self.fullScreenState = not self.fullScreenState
        self.window.attributes("-fullscreen", self.fullScreenState)

De fullscreen modus wordt in deze functie bijgewerkt naar de geschakelde status.

    def quitFullScreen(self, event):
        self.fullScreenState = False
        self.window.attributes("-fullscreen", self.fullScreenState)

quitFullScreen functie sluit de modus volledig scherm af door in -fullscreen te stellen op False.

We kunnen de lambda functie gebruiken om de oplossing eenvoudiger te maken

import tkinter as tk

class Fullscreen_Example:
    def __init__(self):
        self.window = tk.Tk()
        self.window.attributes('-fullscreen', True)  
        self.window.bind("<F11>",
                         lambda event: self.window.attributes("-fullscreen",
                                    not self.window.attributes("-fullscreen")))
        self.window.bind("<Escape>",
                         lambda event: self.window.attributes("-fullscreen",
                                    False))

        self.window.mainloop()

if __name__ == '__main__':
    app = Fullscreen_Example()    
self.window.bind("<F11>",
     lambda event: self.window.attributes("-fullscreen",
                not self.window.attributes("-fullscreen")))

Het bindt de lambda functie aan F11 , waarbij de huidige status op volledig scherm kan worden gelezen, self.window.attributes("-fullscreen") die de status retourneert als er geen waarde wordt opgegeven in de methode.

We hebben de statusvariabele fullScreenState niet meer nodig als we deze aanpak volgen.

Ubuntu root.attributes('-zoomed', True) om de modus Volledig scherm in Tkinter te maken

-fullscreen kenmerk bestaat alleen op Windows, maar niet op Linux of macOS. Ubuntu heeft een vergelijkbaar kenmerk -zoomed om het venster op volledig scherm in te stellen.

import tkinter as tk

class Ubuntu_Fullscreen_Example:
    def __init__(self):
        self.window = tk.Tk()
        self.window.attributes('-zoomed', True)  
        self.fullScreenState = False
        self.window.bind("<F11>", self.toggleFullScreen)
        self.window.bind("<Escape>", self.quitFullScreen)

        self.window.mainloop()

    def toggleFullScreen(self, event):
        self.fullScreenState = not self.fullScreenState
        self.window.attributes("-zoomed", self.fullScreenState)

    def quitFullScreen(self, event):
        self.fullScreenState = False
        self.window.attributes("-zoomed", self.fullScreenState)

if __name__ == '__main__':
    app = Ubuntu_Fullscreen_Example()  

Weergave Volledig scherm met getoonde werkbalk

De modus Volledig scherm weergegeven in bovenstaande codes maakt de werkbalk onzichtbaar. Als we de werkbalk in het venster moeten weergeven, moet de geometrie van het venster hetzelfde zijn als de grootte van de monitor.

import tkinter as tk

class Fullscreen_Example:
    def __init__(self):
        self.window = tk.Tk()
        self.fullScreenState = False
        self.window.attributes("-fullscreen", self.fullScreenState)

        self.w, self.h = self.window.winfo_screenwidth(), self.window.winfo_screenheight()
        self.window.geometry("%dx%d" % (self.w, self.h))
        
        self.window.bind("<F11>", self.toggleFullScreen)
        self.window.bind("<Escape>", self.quitFullScreen)

        self.window.mainloop()

    def toggleFullScreen(self, event):
        self.fullScreenState = not self.fullScreenState
        self.window.attributes("-fullscreen", self.fullScreenState)

    def quitFullScreen(self, event):
        self.fullScreenState = False
        self.window.attributes("-fullscreen", self.fullScreenState)

if __name__ == '__main__':
    app = Fullscreen_Example()  
self.w, self.h = self.window.winfo_screenwidth(), self.window.winfo_screenheight()

winfo_screenwidth() en winfo_screenheight() krijg de breedte en hoogte van de monitor.

self.window.geometry("%dx%d" % (self.w, self.h))

Het stelt de grootte van het GUI-venster hetzelfde in als de breedte en hoogte van de monitor, met behulp van de geometry methode.

Gerelateerde Artikelen - Tkinter Geometry

  • Hoe de Tkinter-kozijngrootte te bevriezen
  • Hoe maak je een Tkinter-venster met een constante grootte