Created
January 17, 2023 19:16
-
-
Save TaylorHawkes/7b891c6e604e50a2a85d5d9bc56dc5a3 to your computer and use it in GitHub Desktop.
progressbar python update
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# importing libraries | |
import urllib.request | |
from PyQt5.QtWidgets import * | |
import sys | |
class GeeksforGeeks(QWidget): | |
def __init__(self): | |
super().__init__() | |
# calling a defined method to initialize UI | |
self.init_UI() | |
# method for creating UI widgets | |
def init_UI(self): | |
# creating progress bar | |
self.progressBar = QProgressBar(self) | |
# setting its size | |
self.progressBar.setGeometry(25, 45, 210, 30) | |
# creating push button to start download | |
self.button = QPushButton('Start', self) | |
# assigning position to button | |
self.button.move(50, 100) | |
# assigning activity to push button | |
self.button.clicked.connect(self.Download) | |
# setting window geometry | |
self.setGeometry(310, 310, 280, 170) | |
# setting window action | |
self.setWindowTitle("GeeksforGeeks") | |
# showing all the widgets | |
self.show() | |
# when push button is pressed, this method is called | |
def Handle_Progress(self, blocknum, blocksize, totalsize): | |
## calculate the progress | |
readed_data = blocknum * blocksize | |
if totalsize > 0: | |
download_percentage = readed_data * 100 / totalsize | |
self.progressBar.setValue(download_percentage) | |
QApplication.processEvents() | |
# method to download any file using urllib | |
def Download(self): | |
# specify the url of the file which is to be downloaded | |
down_url = '' # specify download url here | |
# specify save location where the file is to be saved | |
save_loc = 'C:\Desktop\GeeksforGeeks.png' | |
# Downloading using urllib | |
urllib.request.urlretrieve(down_url,save_loc, self.Handle_Progress) | |
# main method to call our app | |
if __name__ == '__main__': | |
# create app | |
App = QApplication(sys.argv) | |
# create the instance of our window | |
window = GeeksforGeeks() | |
# start the app | |
sys.exit(App.exec()) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Source: https://www.grepper.com/tpc/progressbar+python+update