سایت رسمی یادداشت های غیررسمی

مهندسی که شعر میداند

۳ مطلب در تیر ۱۳۹۸ ثبت شده است

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

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

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 هست اینکه باید مسیر و اسم فایل با پسوند رو هم وارد کنی که درست کار بده.
۰ نظر موافقین ۰ مخالفین ۰
امیر فرح بخش

Hello World Python

اولین برنامه ای که توی هر زبان می نویسیم اصولا  Hello World  هست. چیزی که تا اینجا فهمیدم اینکه چقدر طراحی GUI داخل کتابخانه PyQt شبیه به طراح رابط کاربری در Andriod هست. 


نکته : برای تعریف کردن کلاس از آکولاد استفاده نمیشه و این عقب رفتگی و جلورفتگی کد هست که اول و آخر متد رو مشخص میکنه. 


اینم برنامه Hello World من:

from PyQt5.QtCore import *
from PyQt5.QtGui import *from PyQt5.QtWidgets import *
import sys
class Window(QWidget):
def __init__(self):
QWidget.__init__(self)
self.setWindowTitle("Hello")
layout = QGridLayout()
self.setLayout(layout)
label = QLabel("Hello, World!")
layout.addWidget(label, 0, 0)
app = QApplication(sys.argv)
screen = Window()
screen.show()
sys.exit(app.exec_())
۰ نظر موافقین ۰ مخالفین ۰
امیر فرح بخش

َشروع به یادگیری پایتون

امروز بعد از سال ها کسب معرفت در محضر خانواده ی C ، رفتم سراغ زبان پایتون ! و الان میگم کاش زودتر رفته بودم سراغش.

کارم رو با کتابخونه PyQt شروع کردم که مخصوص ایجاد برنامه برای دسکتاپ هست. جالبی که داره این کدی که می نویسی Cross platform هست یعنی روی لیتوکس ، ویندوز و Mac قابل اجرا هست.


برای شروع کار نیاز هست اینا رو دانلود و نصب کنید :

1. Python

2. نصب PyQt با استفاده از دستور pip install pygt5 , pip install pyqt5-tools

3. نصب Pycharm به عنوان IDE


و کارمون رو با اولین برنامه به این صورت شروع کردم:


import sys
from PyQt5.QtWidgets import *

app = QApplication(sys.argv)
dialog = QDialog()
dialog.show()
app.exec_()
۰ نظر موافقین ۰ مخالفین ۰
امیر فرح بخش