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:
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á.
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