Python | método de olvidar_paquete() y olvidar_grid() en Tkinter

Si queremos desasignar cualquier widget de la pantalla o del nivel superior , se utiliza el método. Hay dos tipos de método de olvidar (similar a ) y que se utilizan con el método y respectivamente. forget()forget_pack()forget() forget_grid()pack()grid()

forget_pack()método –

Syntax: widget.forget_pack()

widget can be any valid widget which is visible.

Código #1:

# Imports tkinter and ttk module
from tkinter import * 
from tkinter.ttk import *
  
# toplevel window
root = Tk()
  
# method to make widget invisible
# or remove from toplevel
def forget(widget):
  
    # This will remove the widget from toplevel
    # basically widget do not get deleted
    # it just becomes invisible and loses its position
    # and can be retrieve
    widget.forget()
  
# method to make widget visible
def retrieve(widget):
    widget.pack(fill = BOTH, expand = True)
  
# Button widgets
b1 = Button(root, text = "Btn 1")
b1.pack(fill = BOTH, expand = True)
  
# See, in command forget() method is passed
b2 = Button(root, text = "Btn 2", command = lambda : forget(b1))
b2.pack(fill = BOTH, expand = True)
  
# In command retrieve() method is passed
b3 = Button(root, text = "Btn 3", command = lambda : retrieve(b1))
b3.pack(fill = BOTH, expand = True)
  
# infinite loop, interrupted by keyboard or mouse
mainloop()

Producción:
forget_pack() method

después de olvidar
After forget

Después de la recuperación
After retrieval

Observe la diferencia en la posición del Botón 1 antes y después del olvido, así como después de la recuperación.

forget_grid()método –

Syntax: widget.forget_grid()

widget can be any valid widget which is visible.

Nota: este método solo se puede utilizar con grid() métodos de geometría.

Código #2:

# Imports tkinter and ttk module
from tkinter import *
from tkinter.ttk import *
  
# toplevel window
root = Tk()
  
# method to make widget invisible
# or remove from toplevel
def forget(widget):
  
    # This will remove the widget from toplevel
    # basically widget do not get deleted
    # it just becomes invisible and loses its position
    # and can be retrieve
    widget.grid_forget()
  
# method to make widget visible
def retrieve(widget):
    widget.grid(row = 0, column = 0, ipady = 10, pady = 10, padx = 5)
  
# Button widgets
b1 = Button(root, text = "Btn 1")
b1.grid(row = 0, column = 0, ipady = 10, pady = 10, padx = 5)
  
# See, in command forget() method is passed
b2 = Button(root, text = "Btn 2", command = lambda : forget(b1))
b2.grid(row = 0, column = 1, ipady = 10, pady = 10, padx = 5)
  
# In command retrieve() method is passed
b3 = Button(root, text = "Btn 3", command = lambda : retrieve(b1))
b3.grid(row = 0, column = 2, ipady = 10, pady = 10, padx = 5)
  
# infinite loop, interrupted by keyboard or mouse
mainloop()

Producción:
forget_grid() method

después de olvidar
After Forget

Después de la recuperación
After  Retrieval

Observe que la posición del Botón 1 sigue siendo la misma después de olvidar y recuperar . Con grid_forget()el método, puede colocarlo en cualquier cuadrícula después de la recuperación, pero generalmente se elige la cuadrícula original.

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 *