Open In App

Create Countdown Timer using Python-Tkinter

Last Updated : 15 Jul, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

Prerequisites: Python GUI – tkinter
Python Tkinter is a GUI programming package or built-in library. Tkinter provides the Tk GUI toolkit with a potent object-oriented interface. Python with Tkinter is the fastest and easiest way to create GUI applications. Creating a GUI using Tkinter is an easy task.
Approach 
 

  1. Importing the module – tkinter, time
  2. Create the main window (container)
  3. Add number of widgets to the main window:Button, Entry
  4. Apply the event Trigger on the widgets.


Below is the implementation. 
 

python3
import time
from tkinter import *
from tkinter import messagebox


# creating Tk window
root = Tk()
 
# setting geometry of tk window
root.geometry("300x250")
 
# Using title() to display a message in
# the dialogue box of the message in the
# title bar.
root.title("Time Counter")
 
# Declaration of variables
hour=StringVar()
minute=StringVar()
second=StringVar()
 
# setting the default value as 0
hour.set("00")
minute.set("00")
second.set("00")
 
# Use of Entry class to take input from the user
hourEntry= Entry(root, width=3, font=("Arial",18,""),
                 textvariable=hour)
hourEntry.place(x=80,y=20)
 
minuteEntry= Entry(root, width=3, font=("Arial",18,""),
                   textvariable=minute)
minuteEntry.place(x=130,y=20)
 
secondEntry= Entry(root, width=3, font=("Arial",18,""),
                   textvariable=second)
secondEntry.place(x=180,y=20)
 
 
def submit():
    try:
        # the input provided by the user is
        # stored in here :temp
        temp = int(hour.get())*3600 + int(minute.get())*60 + int(second.get())
    except:
        print("Please input the right value")
    while temp >-1:
        
        # divmod(firstvalue = temp//60, secondvalue = temp%60)
        mins,secs = divmod(temp,60) 
 
        # Converting the input entered in mins or secs to hours,
        # mins ,secs(input = 110 min --> 120*60 = 6600 => 1hr :
        # 50min: 0sec)
        hours=0
        if mins >60:
            
            # divmod(firstvalue = temp//60, secondvalue 
            # = temp%60)
            hours, mins = divmod(mins, 60)
        
        # using format () method to store the value up to 
        # two decimal places
        hour.set("{0:2d}".format(hours))
        minute.set("{0:2d}".format(mins))
        second.set("{0:2d}".format(secs))
 
        # updating the GUI window after decrementing the
        # temp value every time
        root.update()
        time.sleep(1)
 
        # when temp value = 0; then a messagebox pop's up
        # with a message:"Time's up"
        if (temp == 0):
            messagebox.showinfo("Time Countdown", "Time's up ")
        
        # after every one sec the value of temp will be decremented
        # by one
        temp -= 1

# button widget
btn = Button(root, text='Set Time Countdown', bd='5',
             command= submit)
btn.place(x = 70,y = 120)
 
# infinite loop which is required to
# run tkinter program infinitely
# until an interrupt occurs
root.mainloop()

Output:
 


 


How to Create a Countdown Timer in Python using Tkinter
Next Article
Practice Tags :

Similar Reads

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy