Python | after method in Tkinter (original) (raw)

Last Updated : 11 Jul, 2025

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.