paint-brush
Python Hack: How to Make a Digital Clock by@kalebujordan
841 reads
841 reads

Python Hack: How to Make a Digital Clock

by Kalebu Jordan
Kalebu Jordan  HackerNoon profile picture

Kalebu Jordan

@kalebujordan

I'm a Mechatronics engineer | Pro Python Developer | AI...

November 13th, 2020
Read on Terminal Reader
Read this story in a terminal
Print this story
Read this story w/o Javascript
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Python Hack: How to Make a Digital Clock using Python programming in just a few lines of code. The idea is really simple, firstly we will create an empty window using the Tkinter, then we gonna configure and place a Label widget within our empty window. Finally we will be updating the value of the label to be the current time after every 0.08s. We are going to use strftime() to get time into the Hour: Minutes: Seconds format. If you're on window OS you don't really need to install anything since our simple digital clock app will be using only built-in modules time and TKinter.

Company Mentioned

Mention Thumbnail
Few
featured image - Python Hack: How to Make a Digital Clock
Kalebu Jordan  HackerNoon profile picture
Kalebu Jordan

Kalebu Jordan

@kalebujordan

I'm a Mechatronics engineer | Pro Python Developer | AI Enthusiast

Learn More
LEARN MORE ABOUT @KALEBUJORDAN'S
EXPERTISE AND PLACE ON THE INTERNET.

Hi guys,

In this article, I'm going to share with you how to build a digital clock using Python programming in just a few lines of code using the Tkinter and Time module.

Requirements

If you're on window OS you don't really need to install anything since our simple digital clock app will be using only built-in modules time and Tkinter

But if you're running Linux OS most of the time pre installed python interpreter doesn't come with the Tkinter installed, therefore you might need to install it manually just as shown below;

Installation

sudo apt-get install python3-tk

Now that everything is installed, lets's build our digital clock,

Let's get started ....

The idea is really simple, firstly we will create an empty window using the Tkinter, then we gonna configure and place a Label widget within our empty window, and then finally we will be updating the value of the label to be the current time after every 0.08s.

getting current time ....

Time module provides a variety of ways of getting time, In this article, we are going to use strftime() to parse the current time into the Hour: Minutes: Seconds format.

Example of usage

>>import time
>>time.strftime('%H:%M:%S')
'18:10:53'

Now lets add graphical interface

Previous experience with the Tkinter library would be an advantage for you, but even if this is your first time still you can make it, the syntax is intuitive and straight forward.

Making empty window with tkinter

In making an empty clock window, we gonna use geometry () to specify the dimension of the displayed window, and at the end put mainloop() to prevent the displayable window from exiting immediately.

from tkinter import Label, Tk

#======= Configuring window =========
window = Tk()
window.title("digital clock")
window.geometry("200x200")
window.resizable(False, False)

#============ Logic lives here =======


window.mainloop()

When you run the above code, it will produce an interface like this;

image

Adding some logic to our code ..

Now that we have our empty window, let's now add a label to place our time information together with a function to update the value on the label every 80 milliseconds.

clock_label.place(x = 20, y = 20)

def update_label():
    current_time = strftime('%H: %M: %S')
    clock_label.configure(text = current_time)
    clock_label.after(80, update_label)

update_label()

why 80 milliseconds?

According to research human brain can only process 12 separate images per second, anything more than that it will be perceived as a single picture, this is what causes the illusion of motion.

Below is the full code of our digital clock, with you, can try changing the code parameter the way you would like and then press run again.

from time import strftime
from tkinter import Label, Tk

#======= Configuring window =========
window = Tk()
window.title("")
window.geometry("200x80")
window.configure(bg="green")
window.resizable(False, False)

clock_label = Label(window, bg="green", fg="white", font = ("Times", 30, 'bold'), relief='flat')
clock_label.place(x = 20, y = 20)

def update_label():
    current_time = strftime('%H: %M: %S')
    clock_label.configure(text = current_time)
    clock_label.after(80, update_label)

update_label()
window.mainloop()

Once you run the above lines of code, you should be seeing a widget with clock details rendered on your machine similar to that screenshot below;

image

Well that's the end of our tutorial, Follow me on Twiter

Based on your interest I recommend you to also check these;

Previously published at https://kalebujordan.com/how-to-make-a-digital-clock-in-python/

L O A D I N G
. . . comments & more!

About Author

Kalebu Jordan  HackerNoon profile picture
Kalebu Jordan @kalebujordan
I'm a Mechatronics engineer | Pro Python Developer | AI Enthusiast

TOPICS

THIS ARTICLE WAS FEATURED IN...

Permanent on Arweave
Read on Terminal Reader
Read this story in a terminal
 Terminal
Read this story w/o Javascript
Read this story w/o Javascript
 Lite
Hashnode
Learnrepo