destroy() method in Tkinter | Python (original) (raw)
Last Updated : 24 Nov, 2021
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
from
tkinter
import
*
from
tkinter.ttk
import
*
root
=
Tk()
btn1
=
Button(root, text
=
"Button 1"
, command
=
root.destroy)
btn1.pack(pady
=
10
)
btn2
=
Button(root, text
=
"Button 2"
, command
=
btn1.destroy)
btn2.pack(pady
=
10
)
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
from
tkinter
import
*
from
tkinter.ttk
import
*
root
=
Tk()
btn1
=
Button(root, text
=
"Button 1"
)
btn1.pack(pady
=
10
)
btn2
=
Button(root, text
=
"Button 2"
)
btn2.pack(pady
=
10
)
btn1.after(
3000
, btn1.destroy)
btn2.after(
6000
, btn2.destroy)
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().