برنامه دانلود کننده فایل رو میخوام بنویسیم. 

1. اولین قدم طراخی GUI هست. که به صورت زیر انجام میدیم:

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import sys
class Window(QWidget):
def __init__(self):
QWidget.__init__(self)

self.setWindowTitle("Amir Downloader")
layout = QVBoxLayout()
self.setLayout(layout)
url = QLineEdit()
url.setPlaceholderText("Enter URL")
layout.addWidget(url)
path = QLineEdit()
path.setPlaceholderText("Enter save path")
layout .addWidget(path)
progres = QProgressBar()
layout.addWidget(progres)
progres.setValue(0)
progres.setAlignment(Qt.AlignHCenter)
button = QPushButton("Download")
layout.addWidget(button)




app = QApplication(sys.argv)
screen = Window()
screen.show()
sys.exit(app.exec_())
برای دانلود فایل از کتابخانه urllib استفاده میکنیم. و دوتا تابع هم تعریف میکنیم یکی برای دانلود کردن  که با کلیک کردن روی دکمه فراخوانی میشه و دیگری برای اپدیت کردن مقدار Proggres bar موجود در برنامه استفاده می شود.

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import urllib.request
import sys


class Window(QWidget):
def __init__(self):
QWidget.__init__(self)

self.setWindowTitle("Amir Downloader")
layout = QVBoxLayout()
self.setLayout(layout)
self.url = QLineEdit()
self.url.setPlaceholderText("Enter URL")
layout.addWidget(self.url)
self.path = QLineEdit()
self.path.setPlaceholderText("Enter save path")
layout.addWidget(self.path)
self.progres = QProgressBar()
layout.addWidget(self.progres)
self.progres.setValue(0)
self.progres.setAlignment(Qt.AlignHCenter)
button = QPushButton("Download")
layout.addWidget(button)
self.label = QLabel('url demo')
self.label2 = QLabel('path demo')
layout.addWidget(self.label)
layout.addWidget(self.label2)

button.clicked.connect(self.download)

def download(self):
url = self.url.text()
path = self.path.text()
self.label.setText(url)
self.label2.setText(path)
urllib.request.urlretrieve(url, path , self.report)

def report(self, blocknum, blocksize, totalsize):
readsofar = blocknum * blocksize
if totalsize > 0:
percent = readsofar * 100 / totalsize
self.progres.setValue(int(percent))


app = QApplication(sys.argv)
screen = Window()
screen.show()
sys.exit(app.exec_())
نکته بسیار مهمی که در استفاده از urlretrive هست اینکه باید مسیر و اسم فایل با پسوند رو هم وارد کنی که درست کار بده.

اولین برنامه پایتون

self ,layout ,url ,path ,addwidget ,progres ,layout addwidget ,self url ,addwidget self ,self progres ,setplaceholdertext enter ,import *from pyqt5 ,alignhcenter button qpushbutton ,button qpushbutton download ,qprogressbar layout addwidget

مشخصات

آخرین مطالب این وبلاگ

آخرین ارسال ها

آخرین جستجو ها


googleplay002 آموزش استخراج و کسب درامد میلیونی بیت کوین دانلود موزیک samaneh1 از اهالی شهر کوچک قلم. frektaletsib last mod aranosaze امید سافت-دانلود پکیج،نرم افزاری،فیلم های اموزشی،دانلود بهترین نرم افزارکامپیوتر ملینا دانلود بانک لینک های دانلود فیلم ، دانلود سریال و دانلود آهنگ میباشد.