Skip to content
Related Articles

Related Articles

destroy() method in Tkinter | Python
  • Last Updated : 01 May, 2019

Tkinter supports a variety of methods to perform various tasks. It also offers some universal method.

destroy() is a universal widget method i.e we can use this method with any of the available widgets as well as with the main tkinter window.

Syntax:

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

This method can be used with after() method.

Code #1: destroy() method passed as command






# 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()

Output:

As you may observe, in above code that the command that is passed in button-2 is to destroy button-1 so as soon as you press button-2, button-2 will get destroyed.

Code #2:destroy() method with after() method




# 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()

Output:
From output you may see that both the widgets are destroyed after a certain time limit and only root window will be left empty.

Note: There is another method available quit() which do not destroy widgets but it exits the tcl/tk interpreter i.e it stops the mainloop().

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :