método destroy() en Tkinter | Python

Tkinter admite una variedad de métodos para realizar diversas tareas. También ofrece algún método universal.

destroy()es un método de widget universal, es decir, podemos usar este método con cualquiera de los widgets disponibles, así como con la ventana principal de tkinter.

Sintaxis:

widget_object = Widget(parent, command = widget_class_object.destroy)

Este método se puede usar con el método after() .

Código #1: método destroy() pasado como comando

# importing only those functions
# which are needed
from tkinter import * 
from tkinter.ttk import *
  
# creating tkinter window
root = Tk()
  
# Creating button. In this destroy method is passed
# as command, so as soon as button 1 is pressed root
# window will be destroyed
btn1 = Button(root, text ="Button 1", command = root.destroy)
btn1.pack(pady = 10)
  
# Creating button. In this destroy method is passed
# as command, so as soon as button 2 is pressed
# button 1 will be destroyed
btn2 = Button(root, text ="Button 2", command = btn1.destroy)
btn2.pack(pady = 10)
  
# infinite loop
mainloop()

Producción:
destroy() method in Tkinter

Como puede observar, en el código anterior, el comando que se pasa en el botón 2 es destruir el botón 1, por lo que tan pronto como presione el botón 2, el botón 2 se destruirá.
destroy() method passed as command

Código #2: método destroy() con método after()

# importing only those functions
# which are needed
from tkinter import * 
from tkinter.ttk import *
  
# creating tkinter window
root = Tk()
  
# Creating button. In this destroy method is passed
# as command, so as soon as button 1 is pressed root
# window will be destroyed
btn1 = Button(root, text ="Button 1")
btn1.pack(pady = 10)
  
# Creating button. In this destroy method is passed
# as command, so as soon as button 2 is pressed
# button 1 will be destroyed
btn2 = Button(root, text ="Button 2")
btn2.pack(pady = 10)
  
# after method destroying button-1
# and button-2 after certain time
btn1.after(3000, btn1.destroy)
btn2.after(6000, btn2.destroy)
  
# infinite loop
mainloop()

Salida:
desde la salida, puede ver que ambos widgets se destruyen después de un cierto límite de tiempo y solo la ventana raíz quedará vacía.

Nota: hay otro método disponible quit()que no destruye los widgets pero sale del intérprete tcl/tk, es decir, detiene el bucle principal() .

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 *