فریمورک PyQt برای ایجاد رابط گرافیکی یا GUI ( واسط گرافیکی میان کاربر و کامپیوتر ) برای نرم افزارهایی که با پایتون نوشته می شوند کاربرد دارد. PyQt از Qt گرفته شده است، علاوه بر پایتون در Qt می توانید با زبان های برنامه نویسی دیگری مثل c++ ، Java ، PHP و خیلی زبان های دیگر برنامه نویسی کرد.

چرا PyQt را انتخاب کنیم؟

  1. این فریمورک شامل کتابخانه های گسترده ای است که در برنامه نویسی کار برنامه نویس را بسیار راحت می کنند. یکی از این کتابخانه ها، کتابخانه گرافیکی OpenGl است.
    • کتابخانه : مجموعه کدهایی که برای کاری خاص نوشته شده اند و برنامه نویس می تواند برای استفاده از آن ها به جای نوشتن کد با نوشتن دستورهای مشخصی این کدها را فراخوانی کند.
  2. یادگیری PyQt آسان است.
  3. Open Source و آزاد است که این موضوع باعث می شود همه برنامه نویسان و توسعه دهندگان جهان برای توسعه آن تلاش کنند و این فریمورک هر روز قدرتمندتر از دیروز می شود.
  4. فریمورک ها لایه ای بین کدهای برنامه نویس و کدهای Native سیستم عامل هستند. این لایه باعث کاهش سرعت و افزایش مصرف حافظه می شود؛ اما برنامه هایی که با فریمورک PyQt نوشته می شوند به نسبت برنامه هایی که با فریمورک های دیگر نوشته می شوند سرعت بیشتری دارند و حافظه کمتری مصرف می کنند.
    • سیستم عامل: برنامه ای که وظیفه مدیریت و کنترل نرم افزارها را بر عهده دارد.
  5. در تولید نرم افزارهای Qt از افزونه های مختلفی استفاده می شود که باعث کاهش مصرف حافظه می شوند و به شدت سرعت را افزایش می دهند. همچنین پشتیبانی از پردازش های موازی توسط Qt باعث می شود اگر سیستمی دارای چند هسته پردازنده باشد سرعت پاسخگویی به کاربر فوق العاده بالا باشد.
  6. با این فریمورک حتی روی سخت افزار هم می شود برنامه نویسی کرد.

معرفی دوره برنامه نویسی دسکتاپ با پایتون

در این دوره ساخت برنامه های دسکتاپ آموزش داده می شود؛ البته Qt مالتی پلتفرم است. مالتی پلتفرم یعنی بدون در نظر گرفتن سیستم عامل و محیط اجرا روش کار با فایل، API ها و توابع یکسان است و برنامه های نوشته شده با Qt در همه پلتفرم ها مشابه هستند و برنامه نوشته شده در بقیه پلتفرم ها بدون تغییر قابل اجرا است.

تنها کاری که در پلتفرم جدید باید انجام شود این است که برنامه کامپایل شود؛ در این صورت در این پلتفرم هم مانند یک برنامه native و بدون هیچ تغییری برنامه قابل استفاده خواهد بود.

  • کامپایل : ترجمه کدهای برنامه نویس برای CPU تا کدهای برنامه نویس اجرا شوند. به برنامه ای که کامپایل می کند، کامپایلر می گویند.
  • اما اگر هسته اصلی برنامه با پایتون نوشته شود و از فریمورک PyQt استفاده شود حتی نیاز به کامپایل هم نخواهد بود :)

درباره زبان برنامه نویسی این دوره

همان طور که می دانید در این آموزش قرار است از پایتون و PyQt استفاده شود. همین موضوع شما را از سایر برنامه نویسان متمایز می کند چون برنامه شما روی همه پلت فرم ها قابل اجرا است و بازار کار گسترده تری خواهید داشت.

نکته جالب دیگر این است که در PyQt می توان برای جذاب تر کردن برنامه ها از CSS استفاده کرد. در این آموزش ضمن آموزش CSS نحوه استفاده آن در این فریمورک آموزش داده می شود.

  • فریمورک : فریمورک یک چهارچوب نرم افزاری است که با مجموعه ای از کتابخانه ها کار برنامه نویسی را راحت تر می کند.

شگفت انگیز باشید

مهم ترین نکاتی که به آن اشاره کردیم این است که با یادگیری PyQt قادر خواهید بود نرم افزارهای دسکتاپ، موبایل ( iPhone  و  Android )، وب و … را برنامه نویسی کنید. Qt در بیشتر سیستم عامل ها ( ویندوز، مک، لینوکس و … ) قابلیت اجرا دارد.

لحظه ای را تصور کنید که کارفرما می خواهد یک برنامه برای چندین سیستم عامل نوشته شود؛ در این موقعیت سایر برنامه نویسان قادر به انجام این پروژه نخواهند بود اما شما با یادگیری PyQt از سایر برنامه نویسان متمایز می شوید و قادر به انجام این نوع پروژه ها خواهید بود. درواقع با یادگیری PyQt که یادگیری آن به نسبت سایر فریمورک ها آسان تر است با یک تیر چند نشان را خواهید زد و تبدیل به برنامه نویسی شگفت انگیز خواهید شد!

دوره برای چه کسانی مناسب است؟

  • اگر می خواهید با زبان برنامه نویسی پایتون، برنامه های قدرتمند با رابط گرافیکی زیبا و چشم نواز طراحی کنید این دوره مناسب شماست.
  • اگر می خواهید قادر به برنامه نویسی با پایتون در هر حوزه ای باشید این دوره مناسب شماست.
  • اگر می خواهید در زمان کمتر بهینه تر برنامه نویسی کنید و نتیجه بهتری بگیرید این دوره مناسب شماست.
  • اگر می خواهید از سایر برنامه نویسان متمایز باشید این دوره مناسب شماست.

پیش‌نیاز برنامه نویسی دسکتاپ با پایتون

  • آشایی با زبان پایتون ( پیشنهاد دوره جامع پایتون )
  • در این آموزش از ویندوز ۱۰ استفاده شده است اما کدها روی لینوکس، مک و بسیاری از سیستم عامل های دیگر قابلیت اجرا شدن دارند.

آنچه که در این دوره مشاهده خواهید کرد

بخش اول: مقدمه

در این بخش به بررسی اجمالی درباره آن چیزی که در این دوره آموزش خواهید دید می پردازیم. سپس نصب فریمورک PyQt آموزش داده می شود. بعد از آن شروع به کدنویسی می کنیم و یک برنامه گرافیکی ساده طراحی می کنیم. بعد از این که کمی با برنامه نویسی با PyQt آشنا شدید شروع به کار با widgets و چیدمان آن ها می کنیم.

بخش دوم : ساخت صفحه گرافیکی با Qt Designer

در این بخش بعد از نصب Qt Designer شروع  به ساخت صفحات گرافیکی بدون کدنویسی با این نرم افزار می کنیم. سپس Widgets را اضافه می کنیم و به چیدمان آن ها می پردازیم. بعد از اتمام طراحی واسط گرافیکی برنامه، کدهای UI ایجاد شده را به کدهای پایتون تبدیل می کنیم.

بخش سوم : GUI Functionality

در این بخش بعد از آموزش فراخوانی Dialogs از پنجره اصلی کدهای پایتون را از کدهای UI جدا می کنیم و بعد از آن شروع به ساخت گرافیک های پیچیده تر در برنامه می کنیم.

بخش چهارم : برنامه نویسی پیشرفته ی PyQt

در این بخش با ابزارهای مختلف ظاهر برنامه را جذاب تر و پیشرفته تر می کنیم.

بخش پنجم : انجام پروژه ساخت نرم افزار فروشگاهی

از آنجایی که قصد من تهیه یک آموزش کاربردی است که در پایان آن توانایی ورود به بازار کار داشته باشید در این بخش با استفاده از مباحث آموزش داده شده در بخش های قبل یک نرم افزار فروشگاهی طراحی می کنیم که قابل اجرا روی دسکتاپ است.

سرفصل های آموزش برنامه نویسی دسکتاپ با پایتون

بخش اول: مقدمه

  • قسمت۱ : بررسی اجمالی
  • قسمت۲ : نصب PyQt
  • قسمت۳ : ساخت اولین برنامه گرافیکی با PyQt
  • قسمت۴ : کار با widgets در GUI
  • قسمت۵ : چیدمان widgets

بخش دوم: ساخت صفحه گرافیکی با Qt Designer

  • قسمت۱ : نصب Qt Designer
  • قسمت۲ : اضافه کردن widgets با Qt Designer
  • قسمت۳ : چیدمان widget با Qt Designer
  • قسمت۴ : تبدیل کردن کدهای UI به کدهای پایتون

بخش سوم : GUI Functionality

  • قسمت۱ : فراخوانی Dialogs از پنجره اصلی
  • قسمت۲ : جدا کردن کدهای پایتون از کدهای UI
  • قسمت۳ : ساخت GUI پیچیده با PyQt

بخش چهارم : برنامه نویسی پیشرفته ی PyQt

  • قسمت۱ : استفاده از کتابخانه گرافیکی OpenGL
  • قسمت۲ : انیمیشن
  • قسمت۳ : استفاده از CSS Styling در GUI
  • قسمت۴ : Signals و Slots و Event
  • قسمت۵ : جذاب تر کردن گرافیک با بعضی از کتابخانه ها

بخش پنجم: انجام پروژه ساخت نرم افزار فروشگاهی

  • طراحی گرافیک برنامه
  • طراحی پنجره های برنامه
  • نوشتن توابع