برنامه نویسی | آموزش پای کیوت در پایتون - PyQt
آموزش پای کیوت در پایتون - PyQt
  • علیرضا
  • ۱۳۹۸-۰۳-۲۱
  • ۱۶۳۱

آموزش پای کیوت در پایتون - PyQt


امروزه زبان پایتون به دلیل سادگی طرفداران زیادی پیدا کرده است. بنابراین شما می توانید با کمترین کدنویسی در سریع ترین زمان ممکن به نتیجه برسید. موضوع دیگری که باعث محبوبیت زبان پایتون شده، چند پلتفرم بودن آن است که شما می توانید برنامه هایتان را با تغییرات اندک بر روی سیستم عامل های ویندوز، مکینتاش، لینوکس و… اجرا کنید. یکی از جذابیت های پایتون وجود رابط های گرافیکی مختلف مانند: PyQt وTkniter است که  ما در این پایـ سافتPyQt را مورد بررسی قرار می دهیم.

Qt چیست؟

کیوت (به انگلیسی: Qt) مجموعه‌ای از کتابخانه‌ها و سرآیندهای نوشته‌شده به زبان سی++ است که به برنامه‌نویس امکان توسعه آسان نرم‌افزارهای کاربردی را می‌دهد. کیوت شامل چندین کلاس برای کار با واسط گرافیکی، چندرسانه، ابزارهای پایگاه‌داده، شبکه و … است.

نرم‌افزارهای نوشته شده با ابزار کیوت قادرند تا با استفاده از یک کامپایلر زبان سی‌پلاس‌پلاس برای طیف وسیعی از سیستم‌عامل‌ها از جمله گنو/لینوکس(نسخه‌های رومیزی و وسیله‌های قابل حمل)، ویندوز، ویندوز CE، مک‌اواس و … همگردانی شوند.

بدین ترتیب حمل نرم‌افزار نوشته شده بدون تغییر در متن کد نوشته شده امکان‌پذیر است. از کیوت در زبان‌های برنامه‌نویسی متعددی مانند سی++ و جاوا و پایتون می‌توان استفاده‌کرد.

مجوزهای کیوت

Qt در دو نسخه منبع باز و تجاری عرضه می‌شود، نسخه تجاری آزاد برای هر نوع توسعه نرم‌افزار است. در حالی که نسخه منبع باز محدود به توسعه نرم‌افزار در قالب مجوزهای جی‌پی‌ال و QPL است. البته بعد از خرید Qt توسط شرکت نوکیا و از نسخه ۴٫۵ به بعد امکان توسعه نرم‌افزار در قالب مجوز ال‌جی‌پی‌ال نیز به مجوزهای نسخه منبع باز اضافه شده است.

PyQt یک پلتفرم بسیار وسیع و پیشرفته است که همانند #C عمل می کند و می توان برنامه ها حسابداری ، فروشگاه و غیره را ایجاد کرد، می توان همانند سی شارپ فرم های ویندوزی ایجاد کرد و با Database مدیریت کرد.

 

برای نصب برنامه می توان از دستور Pip به صورت زیر استفاده نمود :

Pip install pyqt5

حال از کد زیر برای ساخت یک صفحه ساده استفاده می کنیم و در ادامه به بررسی کد خواهیم پرداخت :

from PyQt5.QtWidgets import QApplication,QMainWindow
 
class GUI(QMainWindow):
   def __init__(self):
       super().__init__()
       self.initUI()
 
   def initUI(self):
       self.setWindowTitle('PyQt GUI')
       self.resize(400,300)
 
if __name__ == '__main__':
   app = QApplication(sys.argv)
   gui = GUI()
   gui.show()
   sys.exit(app.exec_())

ابتدا به این مطلب باید اشاره کرد که روشهای متفاوتی برای درست کردن برنامه موجود می باشد. در این آموزش روشی که بیشترین مقبولیت را دارد استفاده خواهیم نمود. در این روش برای ساخت window مورد نظر از یک کلاس به نام GUI استفاده شده است. این کلاس از کلاس QMainWindow مربوط به PyQt5 ارث بری کرده است، به معنی ساده تر یعنی ما یک کلاس با خواص ویندوز بودن ساخته ایم. حال می توانیم در تابع initUI در این کلاس تغییرات خود را اعمال کنیم. مواردی را که ما تغییر ندهیم به صورت پیش فرض از کلاس اصلی ارث خواهد برد. به عنوان مثال ما دو ویژگی را در برنامه خود تغییر داده ایم، یکی عنوان صفحه و یکی هم ابعاد آن را. در قسمت main برنامه پایتون خود ابتدا یک instance از این کلاس ساخته شده و سپس آن را نمایش داده ایم. ( چند خط مورد نظر همیشه به همین صورت می باشد ) می توان خروجی برنامه زیر را در تصویر زیر مشاهده نمود :

کیوت pyqt

حال می توانیم به این برنامه المان های مورد نیاز خود را اضافه کنیم ( Widget ). به عنوان مثال بگذارید به این صفحه یک Label و یک Button اضافه نماییم :

 

    self.setWindowTitle('PyQt GUI')
    self.resize(400,300)
    
    self.l1 = QLabel("First Label", self)
    self.l1.move(35,35)
 
    self.myButton = QPushButton('Submit', self)
    self.myButton.move(70 ,70)

در کد بالا ما یک عدد Label و یک عدد Button اضافه نموده ایم. پس از اضافه کردن آن ها، با دستور move آنها را بر روی صفحه جابجا کرده ایم و در موقعیت های متفاوتی قرار داده ایم. کار دیگری که باید انجام دهیم این است که به این دلیل که از Widget های جدیدی استفاده کرده ایم، حال باید این Widget ها را در قسمت import نیز اضافه کرده باشیم :

 

from PyQt5.QtWidgets import QApplication,QMainWindow,QLabel,QPushButton

 خروجی برنامه مورد نظر به صورت زیر خواهد بود :

qt pyqt

 

پایـ سافت با تیمی حرفه ای آماده ای انجام انواع پروژه های شماست

  قیمت توافقی  

برای اطلاعات بیشتر و ثبت سفارش میتوانید به آیدی زیر در تلگرام پیام دهید

@Khorammfar

شماره تماس : 09374851282


شاید بپسندید


 

 

علیرضا

Alireza.kh

نظرات (1)

qadir۲۰۱۹-۰۶-۱۱Reply

ممنون عالی بود

نظر شما در مورد این پست چیه؟!