Skip to content
Related Articles

Related Articles

Python | after method in Tkinter

View Discussion
Improve Article
Save Article
  • Difficulty Level : Basic
  • Last Updated : 16 Jun, 2021

Tkinter provides a variety of built-in functions develop interactive and featured GUI (Graphical User Interface). after() function is also a Universal function which can be used directly on the root as well as with other widgets.
 

after(parent, ms, function = None, *args)

 

Parameters: 
parent: is the object of the widget or main window whichever is using this function. 
ms: is the time in milliseconds. 
function: which shall be called. 
*args: other options.

Code #1:
 

Python3




# importing only those functions which
# are needed
from tkinter import Tk, mainloop, TOP
from tkinter.ttk import Button
 
# time function used to calculate time
from time import time
 
# creating tkinter window
root = Tk()
 
button = Button(root, text = 'Geeks')
button.pack(side = TOP, pady = 5)
 
print('Running...')
# Calculating starting time
start = time()
 
# in after method 5000 milliseconds
# is passed i.e after 5 seconds
# main window i.e root window will
# get destroyed
root.after(5000, root.destroy)
 
mainloop()
 
# calculating end time
end = time()
print('Destroyed after % d seconds' % (end-start))

Output: 
 

When you run the program it will show a Tkinter window having a Button but after 5 seconds the window gets destroyed.
Code #2: Prompting a message after certain time (in our program after 5 seconds).
 

Python3




# importing only those functions which
# are needed
from tkinter import Tk, mainloop, TOP
from tkinter.ttk import Button
from tkinter.messagebox import _show
 
# creating tkinter window
root = Tk()
root.geometry('200x100 + 300 + 250')
 
button = Button(root, text = 'Geeks')
button.pack(side = TOP, pady = 5)
 
# in after method 5000 milliseconds
# is passed i.e after 5 seconds
# a message will be prompted
root.after(5000, lambda : _show('Title', 'Prompting after 5 seconds'))
 
# Destroying root window after 6.7 seconds
root.after(6700, root.destroy)
 
mainloop()

Output: 
In below output a messagebox will prompt after 5 seconds you can even call any function after a certain period of time by passing the function name.
 

 


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!