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:
después de olvidar
Después de la recuperación
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:
después de olvidar
Después de la recuperación
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