Introduction:

GUI is one of the best interfaces for a user to interact with a machine/computer. Python support Tkinter library/packages/module for implementing the GUI-based application/program/code.

The given below is the code for implementing the “GUI-Based Internet Speed Test” application/program:

The libraries/packages/modules used in this code are as follows:

tkinter: This package is used for developing graphical user interfaces (GUIs) in python.

speedtest: This package is used to test network bandwidth using speedtest.net servers

Installation:

$ pip install speedtest-cli

Source Code:

# Importing Libraries Required For Code
from tkinter import *
from speedtest import Speedtest

# Creation OF Function
def update_text():
    speed_test = Speedtest()
    download = speed_test.download()
    upload = speed_test.upload()
    download_speed = round(download / (10**6), 2)
    upload_speed = round(upload / (10**6), 2)
    down_label.config(text= "Download Speed - " + str(download_speed) + "Mbps")
    up_label.config(text= "Upload Speed - " + str(upload_speed) + "Mbps")


# Creation OF GUI
window = Tk()
window.title("Internet Speed Testing")
window.geometry('420x250+250+150')
button = Button(window, text="Press Here to Check Speed", width=50, command=update_text,background = '#49A')
button.pack()
down_label = Label(window, text="")
down_label.pack()
up_label = Label(window, text="")
up_label.pack()

# Closing of GUI
window.mainloop()