Oh Snap!

Please turnoff your ad blocking mode for viewing your site content

Hit enter after type your search item

Python PyQt5 CoronaVirus API Cases, Recovered Cases and Total Deaths Tracker of Different Countries GUI Script Desktop App Full Project For Beginners



Welcome folks today in this post we will be displaying coronavirus cases of different countries using pyqt5 library in python. All the full source code of the application is shown below.



Get Started



In order to get started you need to install the following library using the pip command as shown below


pip install pyqt5


After installing this library make an app.py file and copy paste the following code





# importing libraries 
from PyQt5.QtWidgets import *
from PyQt5 import QtCore, QtGui 
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from bs4 import BeautifulSoup as BS 
import requests 
import sys 

class Window(QMainWindow): 

    def __init__(self): 

        # setting title 
        self.setWindowTitle("Python ") 

        # setting geometry 
        self.setGeometry(100, 100, 400, 500) 

        # calling method 

        # showing all the widgets 

    # method for widgets 
    def UiComponents(self): 

        # countries list // user can add other countries as well 
        self.country = ["india", "us", "spain", "china", "russia", 
                            "pakistan", "nepal", "italy", "spain", 
                                                "uk", "brazil"] 

        # creating a combo box widget 
        self.combo_box = QComboBox(self) 

        # setting geometry to combo box 
        self.combo_box.setGeometry(100, 50, 200, 40) 

        # setting font 
        self.combo_box.setFont(QFont('Times', 10)) 

        # adding items to combo box 
        for i in self.country: 
            i = i.upper() 

        # adding action to the combo box 

        # creating label to show the total cases 
        self.label_total = QLabel("Total Cases ", self) 

        # setting geometry 
        self.label_total.setGeometry(100, 300, 200, 40) 

        # setting alignment to the text 

        # adding border to the label 
        self.label_total.setStyleSheet("border : 2px solid black;") 

        # creating label to show the recovered cases 
        self.label_reco = QLabel("Recovered Cases ", self) 

        # setting geometry 
        self.label_reco.setGeometry(100, 350, 200, 40) 

        # setting alignment to the text 

        # adding border 
        self.label_reco.setStyleSheet("border : 2px solid black;") 

        # creating label to show death cases 
        self.label_death = QLabel("Total Deaths ", self) 

        # setting geometry 
        self.label_death.setGeometry(100, 400, 200, 40) 

        # setting alignment to the text 

        # adding border to the label 
        self.label_death.setStyleSheet("border : 2px solid black;") 

    # method called by push 
    def get_cases(self): 

        # getting country name 
        index = self.combo_box.currentIndex() 
        country_name = self.country[index] 

        # creating url using country name 
        url = "https://www.worldometers.info/coronavirus/country/" + country_name + "/"

        # getting the request from url 
        data = requests.get(url) 

        # converting the text 
        soup = BS(data.text, 'html.parser') 

        # finding meta info for cases 
        cases = soup.find_all("div", class_="maincounter-number") 

        # getting total cases number 
        total = cases[0].text 

        # filtering it 
        total = total[1: len(total) - 2] 

        # getting recovered cases number 
        recovered = cases[2].text 

        # filtering it 
        recovered = recovered[1: len(recovered) - 1] 

        # getting death cases number 
        deaths = cases[1].text 

        # filtering it 
        deaths = deaths[1: len(deaths) - 1] 

        # show data through labels 
        self.label_total.setText("Total Cases : " + total) 
        self.label_reco.setText("Recovered Cases : " + recovered) 
        self.label_death.setText("Total Deaths : " + deaths) 

# create pyqt5 app 
App = QApplication(sys.argv) 

# create the instance of our Window 
window = Window() 


# start the app 


READ  Python 3 Tkinter Encode Text or String to Binary Code Converter GUI Desktop App Using Regular Expression Library Full Project For Beginners


Now if you execute the above script by typing the below command


python app.py




As you can see you can select the country and then see the total cases and recovered cases and total deaths for the selected country in the desktop app

Leave a Comment

Your email address will not be published. Required fields are marked *

This div height required for enabling the sticky sidebar
Coding Shiksha 2020. All Rights Reserved.
Ad Clicks : Ad Views : Ad Clicks : Ad Views : Ad Clicks : Ad Views : Ad Clicks : Ad Views : Ad Clicks : Ad Views : Ad Clicks : Ad Views : Ad Clicks : Ad Views : Ad Clicks : Ad Views : Ad Clicks : Ad Views : Ad Clicks : Ad Views : Ad Clicks : Ad Views : Ad Clicks : Ad Views :