Saltar al contenido

Mostrar el modo de pantalla completa en Tkinter

Solución:

Creo que esto es lo que estás buscando:

Tk.attributes("-fullscreen", True)  # substitute `Tk` for whatever your `Tk()` object is called

Puedes usar wm_attributes en lugar de attributes, también.

Luego, simplemente vincule la tecla de escape y agregue esto al controlador:

Tk.attributes("-fullscreen", False)

Una respuesta a otra pregunta aludida a esto (con wm_attributes). Entonces, así es como me enteré. Pero nadie salió directamente y dijo que era la respuesta por alguna razón. Entonces, pensé que valía la pena publicarlo.

Aquí hay un ejemplo de trabajo (probado en Xubuntu 14.04) que usa F11 para activar y desactivar la pantalla completa y donde escape solo lo apagará:

import sys
if sys.version_info[0] == 2:  # Just checking your Python version to import Tkinter properly.
    from Tkinter import *
else:
    from tkinter import *


class Fullscreen_Window:

    def __init__(self):
        self.tk = Tk()
        self.tk.attributes('-zoomed', True)  # This just maximizes it so we can see the window. It's nothing to do with fullscreen.
        self.frame = Frame(self.tk)
        self.frame.pack()
        self.state = False
        self.tk.bind("<F11>", self.toggle_fullscreen)
        self.tk.bind("<Escape>", self.end_fullscreen)

    def toggle_fullscreen(self, event=None):
        self.state = not self.state  # Just toggling the boolean
        self.tk.attributes("-fullscreen", self.state)
        return "break"

    def end_fullscreen(self, event=None):
        self.state = False
        self.tk.attributes("-fullscreen", False)
        return "break"

if __name__ == '__main__':
    w = Fullscreen_Window()
    w.tk.mainloop()

Si también desea ocultar un menú, solo hay dos formas de hacerlo. Uno es destruirlo. La otra es hacer un menú en blanco para alternar.

self.tk.config(menu=self.blank_menu)  # self.blank_menu is a Menu object

Luego, vuelva a cambiarlo a su menú cuando desee que vuelva a aparecer.

self.tk.config(menu=self.menu)  # self.menu is your menu.

Esto crea una ventana de pantalla completa. Prensado Escape cambia el tamaño de la ventana a ‘200×200 + 0 + 0’ de forma predeterminada. Si mueve o cambia el tamaño de la ventana, Escape alterna entre la geometría actual y la geometría anterior.

import Tkinter as tk

class FullScreenApp(object):
    def __init__(self, master, **kwargs):
        self.master=master
        pad=3
        self._geom='200x200+0+0'
        master.geometry("{0}x{1}+0+0".format(
            master.winfo_screenwidth()-pad, master.winfo_screenheight()-pad))
        master.bind('<Escape>',self.toggle_geom)            
    def toggle_geom(self,event):
        geom=self.master.winfo_geometry()
        print(geom,self._geom)
        self.master.geometry(self._geom)
        self._geom=geom

root=tk.Tk()
app=FullScreenApp(root)
root.mainloop()

Creo que si está buscando solo pantalla completa, no es necesario configurar la geometría o el tamaño máximo, etc.

Solo necesitas hacer esto:

-Si está trabajando en ubuntu:

root=tk.Tk()
root.attributes('-zoomed', True)

-y si está trabajando en Windows:

root.state('zoomed')

Ahora, para alternar entre pantalla completa, para minimizarlo en la barra de tareas, puede usar:

Root.iconify()
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *