Open In App

Python | Create a digital clock using Tkinter

Improve
Improve
Like Article
Like
Save
Share
Report

As we know Tkinter is used to create a variety of GUI (Graphical User Interface) applications. In this article we will learn how to create a Digital clock using Tkinter

Prerequisites: 

  • Python functions 
  • Tkinter basics (Label Widget) 
  • Time module 

Using Label widget from Tkinter and time module: 

In the following application, we are going to use Label widget and also going to use time module which we will use to retrieve system’s time.

Below is the implementation: 
 

Python3




# importing whole module
from tkinter import *
from tkinter.ttk import *
 
# importing strftime function to
# retrieve system's time
from time import strftime
 
# creating tkinter window
root = Tk()
root.title('Clock')
 
# This function is used to
# display time on the label
 
def time():
    string = strftime('%H:%M:%S %p')
    lbl.config(text=string)
    lbl.after(1000, time)
 
 
# Styling the label widget so that clock
# will look more attractive
lbl = Label(root, font=('calibri', 40, 'bold'),
            background='purple',
            foreground='white')
 
# Placing clock at the centre
# of the tkinter window
lbl.pack(anchor='center')
time()
 
mainloop()


Output: 
 

Code Explanation:

  1. The code starts by importing the necessary modules.
  2. The first module is the tkinter library, which provides basic functionality for creating graphical user interfaces (GUIs).
  3. Next, the strftime function is imported to retrieve system time.
  4. Next, a window is created and given a title of “Clock.”
  5. A function called time() is then created to display the current time on the label widget.
  6. This function uses the strftime() function to format the time string according to system conventions.
  7. The last part of this code sets up styling for the label widget so that it will look nicer.
  8. Finally, an instance of Label is created and placed at the center of the window.
  9. The time() function is executed, and your output should look like this: Clock: Tue Dec 12 08:00:00 2016
  10. The code creates a window and assigns it the title “Clock”.
  11. The time() function is then called to display the current time on the label widget.
  12. The lbl.config() function is used to set the text of the label widget.
  13. The after() function is used to delay displaying the time for 1000 milliseconds.
  14. Finally, the style of the label widget is modified with lbl.pack().

Last Updated : 25 Nov, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads