Python | winfo_ismapped() y winfo_exists() en Tkinter

Tkinter proporciona numerosos métodos de widgets universales o métodos de widgets básicos que funcionan con casi todos los widgets disponibles.
 

método winfo_ismapped() –

Este método se utiliza para comprobar si el widget especificado está visible o no.
 

Sintaxis: widget.winfo_ismapped()
Valor devuelto: Devuelve True si el widget está visible (o mapeado), de lo contrario devuelve False.
Excepción: si el widget se destruye, arroja un error.

Puython

# Imports tkinter and ttk module
from tkinter import * 
from tkinter.ttk import * 
import time
  
# toplevel window
root = Tk()
  
def forget(widget):
    widget.forget()
    print("After Forget method called. Is widget mapped? = ",
                               bool(widget.winfo_ismapped()))
  
def retrieve(widget):
    widget.pack()
    print("After retrieval of widget. Is widget mapped? = ",
                                bool(widget.winfo_exists()))
  
# Button widgets
b1 = Button(root, text = "Btn 1")
b1.pack()
  
# This is used to make widget invisible
b2 = Button(root, text = "Btn 2", command = lambda : forget(b1))
b2.pack()
   
# This will retrieve widget
b3 = Button(root, text = "Btn 3", command = lambda : retrieve(b1))
b3.pack()
  
# infinite loop, interrupted by keyboard or mouse
mainloop()

Producción:
 

winfo_ismapped() in Tkinter 1

winfo_ismapped() in Tkinter 2

método winfo_exists() –

Este método se utiliza para comprobar si el widget especificado existe o no, es decir, si el widget se destruye o no.
 

Sintaxis: widget.winfo_exists()
Valor de retorno: Devuelve True si el widget existe, False en caso contrario.

Python

# Imports tkinter and ttk module
from tkinter import * 
from tkinter.ttk import *
  
# toplevel window
root = Tk()
  
def dest(widget):
    widget.destroy()
    print("Destroy method called. Widget exists? = ",
                          bool(widget.winfo_exists()))
      
def exist(widget):
    print("Checking for existence = ", bool(widget.winfo_exists()))
  
# Button widgets
b1 = Button(root, text = "Btn 1")
b1.pack()
  
# This is used to destroy widget
b2 = Button(root, text = "Btn 2", command = lambda : dest(b1))
b2.pack()
   
# This is used to check existence of the widget
b3 = Button(root, text = "Btn 3", command = lambda : exist(b1))
b3.pack()
  
# infinite loop, interrupted by keyboard or mouse
mainloop()

Producción:
 

winfo_ismapped() method in tkinter 1

winfo_ismapped() method in tkinter 2

winfo_ismapped() method in tkinter

Nota: si se destruye un widget, no se puede volver a recuperar.
 

Publicación traducida automáticamente

Artículo escrito por sanjeev2552 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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