مدت :

۱۰ ساعت و ۳۷ دقیقه

قیمت : ۴۶۸,۰۰۰ تومان
LinkedIn
Twitter
Facebook
Telegram

درباره مدرس 

اطلاعات دوره

توضیحات

هم‌رویشی‌های عزیز بعد از یک سال تلاش آموزش PyQt5 منتشر شد. تلاش بسیاری بابت انتشار آموزش پروژه محور پای کیوت کشیده شده است. مجموعه هم‌رویش امیدوار است مثل همیشه این آموزش مورد استقبال شما عزیزان قرار گیرد. مدت زمان آموزش PyQt تنها 10 ساعت و 37 دقیقه است. شما همراهان را دعوت می‌کنم قبل از تهیه این دوره آموزشی توضیحات زیر و همینطور فیلم معرفی این آموزش را با دقت ببینید.

 

اگر شما  برنامه‌نویس پایتون هستید و برنامه‌هایی که می‌نویسیدتحت کنسول هستند این مطلب رو دنبال کنید:

تا به حال برای شما اتفاق افتاده که ساعت‌ها برای نوشتن یک کد وقت گذاشته و حتی بهترین نتیجه را هم ارائه داده باشید اما از نظر یکی از اطرافیان شما که اتفاقا برنامه نویس هم نیست، نتیجه‌ی کار آنچنان جالب و جذاب نباشد؟

البته این که برنامه شما برای فرد مورد نظر جذاب نیست، می‌تواند به عوامل مختلفی بستگی داشته باشد. یکی از موارد مهم آن محیطی است که برنامه تحت آن محیط به کاربر نمایش داده می‌شود. اگر کاربر نتواند با این محیط ارتباط بگیرد نمی‌تواند از برنامه شما به درستی استفاده کند. به عنوان مثال وقتی شما برنامه خود را تحت کنسول ارائه می‌دهید، یک کاربر معمولی یک مستطیل سیاه با خط های سفید را میبیند و این از نظر او شاید جذاب نباشد!

شاید فکر کنید که ” خب این فرد برنامه نویس نیست و برای همین نظرش جلب نشده ”

بله کاملا درست است؛ اگر کاربران هدف شما برنامه نویسان هستند ممکن است نتیجه‌ای که گرفتیم عکس باشد. این یعنی اتفاقا برنامه تحت کنسول برای یک برنامه نویس می‌تواند محیط بسیار جذابی باشد.

 

آیا هدف ما یا به عبارت دیگر کاربر برنامه ما فقط  افرادی هستند که برنامه نویسند؟

هر چه طیف کاربران برنامه ما وسیع‌تر باشند، ما بیشتر به هدف خود رسیدیم، برنامه ما بیشتر مورد استقبال و استفاده قرار می‌گیرد؛ پس به طور کلی پاسخ سوال بالا خیر خواهد بود.

بنابرین باید کاری کنیم که علاوه بر منطق زیبا و قشنگی که برنامه ما دارد، ظاهر زیبا و محیط جذابی هم داشته باشد.

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

ماژول‌های زیادی وجود دارند که می‌توانید با این ماژول‌ها برای برنامه خود گرافیک طراحی کنید. یکی از کامل‌ترین و بهترین‌های این ماژول‌ها مخصوصا برای دسکتاپ، PyQt است.

در این دوره با استفاده از PyQt5 یاد می‌گیریم چطور برنامه ما دارای رابط کاربری گرافیکی خواهد شد.

 

مزیت PyQt5 به سایر ماژول‌ها

می‌توان گفت کلاس‌های این ماژول به قدری گسترده است که خود به تنهایی دلیل کافی برای برتری این فریمورک نسبت به سایر ماژول ها است. اما بهترین نکته، “دیزاینر” یا برنامه‌ای است که برای طراحی راحت‌تر این ماژول ارائه داده است.

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

 

این آموزش در یک نگاه:

در این دوره روند من برای تدریس به این صورت است که ابتدای دوره را به ۲ بخش تقسیم کردم:

 

بخش اول:

جایی که تماما کد محور پیش خواهیم رفت. این یعنی در این بخش سراغ دیزاینر نمی‌رویم. کاملا متوجه می‌شویم که منطق نوشتن یک فرم با استفاده از PyQt به چه صورت است.

این کار سبب می‌شود که وقتی در بخش دوم سراغ دیزاینر رفتیم شما خیلی راحت کد‌های نوشته شده توسط دیزاینر را درک کنید.

 

آموزش-PyQt-هم-رویش

 

بخش دوم:

حالا زمان آن رسیده که سراغ دیزاینر برویم. با محیط دیزاینر آشنا می‌شویم و کار کردن با آن را یاد می‌گیریم.

 

آموزش-PyQt-هم-رویش

 

در نهایت برای اینکه روند توسعه یک اپ را یاد بگیریم، یک مینی اپ مدیریت کافه را از صفر تا صد با هم توسعه می‌دهیم.

 

 

 

چرا مینی اپ؟

حقیقتا در ابتدا قرار بر این بود این دوره پروژه محور و به جای ۲ بخش دارای ۴ بخش باشد.

اما به دلیل طولانی نشدن دوره که در صورت طولانی‌تر شدن ممکن است فراگیر خسته شود و نتواند از دوره بهره کامل را ببرد، تصمیم گرفتیم که فعلا با همین دو بخش دوره را منتشر کنیم.

برای اینکه بحث ما کاملا نتیجه بخش باشد و شما بعد دیدن این دوره بتوانید یک اپ با PyQt5 بنویسید، یک مینی اپ را با هم نوشتیم و آن را آماده کردیم تا روی تمام سیستم‌ها با سیستم عامل ویندوز اجرا بشود.

 

آموزش-پروژه-محور-پای-کیوت-هم-رویش

 

پیشنیاز:

آموزش مقدماتی تا پیشرفته پایتون

 

در صورت رضایت بخش بودن دوره برای شما، در دوره بعدی 2 بخش دیگر را ادامه خواهیم داد و یک برنامه کامل را به صورت پروژه محور پیش خواهیم برد. اگر مشتاق انتشار دوره بعدی هستید نظرات و پیشنهادات خود را درباره‌ی این آموزش در قسمت نظرات با ما به اشتراک بگذارید.

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

 

کلیدواژگان

آموزش PyQt5 | آموزش PyQt5 در پایتون | آموزش نصب PyQt5 | آموزش کامل PyQt5 | آموزش پای کیوت | اموزش پای کیوت | آموزش pyqt | آموزش pyqt به زبان فارسی | آموزش کیوتی از صفر صفر | آموزش pyqt5 | آموزش پروژه محور پای کیوت | آموزش کامل pyqt

ریز محتوای فیلم‌ها

ریز محتوای فیلم‌ها

درس صفر : معرفی دوره

  • تفاوت اپ‌های تحت کنسول و اپ با رابط کاربری گرافیکی – چرا باید اپ‌های ما دارای رابط کاربری گرافیکی باشند؟
  • آشنایی با انواع ربات ها در تلگرام

 

درس 1: معرفی بخش اول

  • آشنایی با روند ساخت یک اپ – نگاهی به بخش اول

 

درس2 : آشنایی با کتابخانه PyQt5 و انواع نرم افزارها

  • آشنایی مختصر با Qt
  • آشنایی با PyQt
  • معرفی داکیومنت PyQt5
  • آشنایی با نرم افزار های سیستمی و کااربردی

 

درس 3:  نصب پیش نیازها

  • دانلود و نصب مفسر پایتون
  • نصب PyInstaller
  • نصب دو نسخه از Qt Designer
  • راهنمای دانلود و نضب VScode

 

درس 4: ساخت اولین Form و آشنایی با Label

  • شناخت دو بخش اصلی فرم یعنی layouts و widgets
  • نوشتن اولین کد و ساخت اولین فرم
  • آشنایی کامل با منطق تابع __init__
  • معرفی و استفاده از ویجت lable

 

درس 5: Button ها و نوشتن توابع آنها

  • آشنایی با ویجت QPushButton
  • آشنایی با تعریف تابع برای button
  • معرفی سیگنال clicked برای اتصال button به تابع

 

درس 6: LineEdit و نحوه ی استفاده از آنها

  • آشنایی با ویجت QLineEdit
  • تعریف یک lineedit با استفاده از این ویجت
  • نوشتن فرم و پیاده سازی منطقی با استفاده از button و lineedit

 

درس 7: کار با StatusBar و Menu (آشنایی با کلاس QMainWindow)

  • آشنایی با کلاس QMainWindow
  • آشنایی با QStatusBar و تعریف یک statusbar
  • آشنایی با Menue و تعریف آن – برقراری ارتباط بین menue و statusbar

 

درس 8: کار با MessageBox

  • آشنایی با MessageBox و کلاس QMessageBox
  • آشنایی با نحوه تعریف و ساخت یک MessageBox و آشنایی با انواع دکمه‌ها در MessageBox
  • ساخت یک questionbox با استفاده از MessageBox و سوال راجب اطمینان از خروج

 

درس 9: کار با Table (آشنایی با لایه ها)

  • آشنایی با table و کلاس QTableWidget و تعریف یک جدول با استفاده از آن
  • آشنایی با Layouts و انواع آن

 

درس 10: کار با QPixMap

  • آشنایی با pixmap و کلاس QPixMap
  • آشنایی با کلاس QtGui
  • آستفاده از عکس در برنامه با استفاده از PixMap

 

درس 11: کار با QColorDialog

  • آشنایی با colordialog و کلاس QColorDialog
  • ساخت و تعریف یک colordialog
  • ساخت یک برنامه برای تغییر رنگ دکمه‌ها با استفاده از colordialog

 

درس 12: کار با ComboBox

  • آشنایی با ComboBox و کلاس QComboBox
  • ساخت یک combobox و برقراری ارتباط با ویجت دیگر (lineedit)

 

درس 13 : کار با QProgressBar

  • آشنایی با ProgressBar و کلاس QProgressBar
  • تغییر value برحسب ثانیه
  • تغییر value بر حسب دانلود یک فایل (نمایش پیشرفت یک دانلود با این ویجت)

 

درس 14 : کار با Silder و Frame

  • آشنایی با Silder و کلاس QSilder
  • آشنایی با Frame و کلاس Qframe – برقراری ارتباط بین این دو ویجت

 

درس 15: معرفی بخش دوم

  • معرفی و نگاه خیلی کوتاه به بخش دوم

 

درس 16: آشنایی کلی با محیط Designer

  • یادآوری نحوه نصب QtDesigner
  • آشنایی کلی با محیط Designer
  • آشنایی کلی با تب‌های Object Inspector , Signal , Action Editor Resource Browser و Property Editor
  • آشنایی با تب Widget Box
  • خروجی گرفتن و ذخیره سازی فایل ui از فرم ساخته شده در دیزاینر

 

درس 17 : تبدیل فایل .ui به .py

  • تبدیل فایل .ui به فایل پایتونی
  • مقایسه  کدهای نوشته شده با دیزاینر و کدهای نوشته شده در بخش اول دوره

 

درس 18 : کار با انواع Button در Designer

  • آشنایی با spacerها
  • استفاده از ویجت button دردیزاینر و تعریف تابع در کد و اتصال دکمه به آن
  • آشنایی و استفاده از Tool Button وآشنایی با پاپاپ مودهای مختلف آن (Delaypopup , Instantpopup , MenuButtonpopup)
  • آشنایی و استفاده از Radio Button و تعریف منطق آن در کد
  • آشنایی و استفاده از Check Box تعریف منطق آن در کد
  • آشنایی و استفاده از Command Link Button تعریف منطق آن در کد
  • آشنایی Dialog Button Box

 

درس 19 : آشنایی با ItemViews و ItemWidgets

  • توضیح مختصر راجب ItemViews
  • استفاده از TableWidget
  • استفاده از Tree Widget
  • آشنایی و استفاده از List Widget تعریف منطق آن در کد

 

درس 20: کار با Containers

  • آشنایی و استفاده از Group Box
  • آشنایی و استفاده از Scroll Area
  • آشنایی و استفاده از Tool Box
  • آشنایی و استفاده از Tab Widget
  • آشنایی و استفاده از Stacked Widget
  • آشنایی و استفاده از Frame
  • آشنایی و استفاده از Widget
  • آشنایی و استفاده از IMDI Area
  • آشنایی و استفاده از Dock Widget

 

درس 21 : کار با InputWidgets

  • استفاده از Combo Box در دیزاینر
  • آشنایی و استفاده از Font Combo Box و تعریف منطق آن در کد
  • استفاده از Line Edit و تعریف منطق آن در کد
  • آشنایی و استفاده از Text Edit
  • آشنایی و استفاده از Plain Text Edit و تعریف منطق آن در کد
  • آشنایی و استفاده از Spin Box و تعریف منطق آن در کد
  • آشنایی و استفاده از Double Spin Box
  • آشنایی و استفاده از Time Edit
  • آشنایی و استفاده از Date Edit
  • آشنایی و استفاده از Date/Time Edit
  • آشنایی و استفاده از Dial و تعریف منطق ان در کد
  • آشنایی و استفاده از Horizontal Scroll Bar
  • آشنایی و استفاده از Vertical Scroll Bar
  • آشنایی و استفاده از Horizontal Slider
  • آشنایی و استفاده از Vertical Slider
  • آشنایی و استفاده از Key Sequence Edit

 

درس 22 : کار با DisplayWidgetd

  • استفاده از Label در دیزاینر
  • آشنایی و استفاده از Graphics View و تعریف منطق ان در کد
  • آشنایی و استفاده از Text Browser
  • آشنایی و استفاده از LCD Number و تعریف منطق ان در کد
  • آشنایی و استفاده از Calendar Widget
  • استفاده از Progress Bar در دیزاینر
  • آشنایی و استفاده از Horizontal Line و Vertical Line
  • آشنایی مختصر با OpenGL Widget

 

درس 23 : ساخت مینی اپ مدیریت کافه (پارت اول : طراحی فرم‌ها)

  • طراحی فرم های مینی اپ مدیریت کافه در دیزاینر

 

درس 23: ساخت مینی اپ مدیریت کافه (پارت دوم : نوشتن کد برنامه و تعریف منطق ها)

  • تعریف منطق مینی اپ مدیریت کافه اعم از:
  • جدولی برای ثبت سفارش و قیمت سفارشات
  • انتخاب محصول توسط کاربر
  • جمع کل مبالغ و صدور فاکتور در قالب فایل text
  • تعریف ساعت دیجیتال و …

 

درس 24: بسته بندی و خروجی گرفتن فایل exe و ساخت فایل setup و جمع بندی

  • خروجی گرفتن فایل exe و انجام مراحلی چون :
  • حذف وابستگی های برنامه به فایل‌های دیگر
  • قرار دادن ایکون برای برنامه
  • و…
نظرات (21)

21 دیدگاه برای آموزش PyQt5 — پای کیوت مقدماتی تا پیشرفته همراه پروژه

  1. حسین تفریشی (خریدار محصول)

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

  2. نیما باقریان

    جناب مهندس علیجانی
    با سلام،
    ایا شما پروژه برنامه نویسی با QMLو ++C را هم قبول میفرمایید یا شخصی مسلط میتوانید به ما معرفی نمایید.
    با سپاس.

  3. alii

    سلام خسته نباشید
    ایا توی این دوره , گرفتن خروجی از یه دکمه به صورت عکس اموزش میدید؟
    میخوام توی qt designer وقتی یک دکمه یا عدد را وارد کردم یه عکس مربوطه روی صفحه , خروجی بگیرم
    ایاممکنه؟

    • امیرحسین علیجانی

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

  4. سعید (خریدار محصول)

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

  5. سعید (خریدار محصول)

    از پاسخ گویی شما واقعآ ممنونم

  6. سعید (خریدار محصول)

    AttributeError: partially initialized module ‘serial’ has no attribute ‘Serial’ (most likely due to a circular import)

  7. سعید (خریدار محصول)

    سلام مجدد خدمت استاد عزیز
    من یک سئوال غیر مرتبط با مبحث QT دارم ممنون میشم که راهنمایی کنید
    من قصد دارم از کتابخانه pyserial برای ارسال دیتا از طریق پورت سریال استفاده کنم یک سمپل مطابق مثال های موجود در اینترنت را run کردم اما خطای زیر را مشاهده کردم

    • امیرحسین علیجانی

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

  8. سعید (خریدار محصول)

    سلام خدمت استاد عزیز
    من دو صفحه مجزا با دیزانر ساختم وقتی کد صفحات را بصورت مجزا با vscode اجرا میکنم تمامی باتن ها به درستی کار میکنند اما وقتی یکی از صفحات را مطابق آموزش شما به صفحه اول اضافه میکنم با زدن باتن مربوطه در صفحه اول صفحه دوم باز میشود(تا اینجا همه چیز درست است)اما اگر هرکدام از باتن های صفحه دوم که فشار داده شود هردو صفحه(هم صفحه اول و هم صفحه دوم)بسته میشوند

    • امیرحسین علیجانی

      سلام وقتتون بخیر
      وقتی برنامتون به طور ناگهانی بسته میشه به این معنی هست که کدتون باگ داره برای اینکه متوجه بشید مشکل کجاست باید با ترمینال vscode برنامه رو اجرا کنید تا بتونید ارور ها رو بخونید ، داخل vscode روی دکمه run راست کلیک کنید و run as terminal رو بزنید یا اینکه از منوی بالای نرم افزار terminal رو باز کنید و دستور python file.py که file اسم فایل فرم ابتدایی شما هست رو وارد کنید ، همونطور که خودتون گفتید باتن فرم دوم رو کلیک کنید به ترمینال برگردید و ببینید چه اروری دارید
      موفق باشید

  9. صهیب (خریدار محصول)

    سلام. خیلی ممنون آموزش خوبی بود لطف کنید دوره پیشرفته هم بگذارید

    • امیرحسین علیجانی

      سلام ممنون از نظرتون ، چشم به زودی ارائه میشه 🌹

  10. ehsan.eslami.1364@gmail.com (خریدار محصول)

    سلام من واقعا برای نصب pyqt5 مشکل دارم اصلا نصب نمیشه دستورات رو که تو cmd میزنم پیغام خطا میده

    • امیرحسین علیجانی

      سلام وقتتون بخیر ، بفرمایید خطایی که دریافت میکنید چیه ؟

  11. hossein.sayyedmousavi@gmail.com (خریدار محصول)

    سلام با ابن که مدرس دوره جوان است اما بسیار کم نقص و بی نظیر بود. از شما متشکرم. فقط انتقادی که وجود داره اینه که عملا این دوره مقدماتی است و پیشرفته آن هنوز ارائه نشده پس لطفا نام دوره رو تغییر بدید که کاربر دچار اشتباه نشه.

    • امیرحسین علیجانی

      سلام ، ممنون از لطفتون 🌹
      سعی میکنم دوره پیشرفته رو هم زود تر آماده کنم

  12. مجید

    اونایی که تو نصب کیوتی دیزاینر (Qt desgner) مشکل دارند . توی cmd دستور pip install PyQt5Designer رو بزنند بعد نصب با سرچ Qt desgnerت و درایو c ب این برنامه دسترسی دارند.

    • امیرحسین علیجانی

      ممنون از راهنماییتون 🌹

  13. M

    سلام ،
    میشه در نصب کیوتی دیزاینر
    کمکم کنید ؟

    چطور نصبش کنم ؟
    فقط همین رو لازم دارم
    ممنونم

    • امیرحسین علیجانی

      سلام ، وقتتون بخیر
      کافیه با دستور python -m pip install PyQt5-tools ابتدا ابزار PyQt رو نصب کنید و بعد با مراجعه به ادرس نصب مفسر پایتون و :

      Libsite-packagesqt5_applicationsQtbin
      به دیزاینر دسترسی داشته باشید.

  14. مجید

    سلام خسته نباشید .
    با pyqt5 میشه اپ اندرویدی آنلاین مثل اسنپ و… ساخت؟
    🤝

    • امیرحسین علیجانی

      سلام ، وقتتون بخیر
      از pyqt5 میشه خروجی اندروید گرفت و از طرفی میشه با این ماژول اپ های آنلاین توسعه داد …
      ولی اگر نظر شخصی بنده رو بخواید ، میگم برای توسعه اپ های پیشرفته اندرویدی بهتره سمت زبان های مخصوص اندروید بریم تا اینکه از ماژول های کراس پلتفرم زبان های دیگه استفاده کنیم …
      موفق باشید .

  15. ابوذر رحمانی (خریدار محصول)

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

    • امیرحسین علیجانی

      سلام
      ممنون وقت شما هم بخیر
      حق با شماست ، واقعیت اینه که اول قرار بود دوره طولانی تر و مباحث مفصل تر بیان بشه اما تصمیم گرفته شد دوره کوتاه تر و ادامه ی مباحث در قالب دوره های بعد ارائه بشه
      برنامه داریم که دوره ای مختص طراحی بهتر با pyqt منتشر کنیم که حتما به این موضوع مفصل می‌پردازیم
      ممنون از توجهتون ❤️

  16. سجاد

    سلام وقتتون بخیر .
    من دنبال آموزش پیشرفته pyqt هستم ترجیحا pyqt6 ولی خوب pyqt5 هم بود مشکلی نیست .
    مباحثی مثل pyqtsignal و qthread و qthreadpool و …
    آیا شما آموزشی در این خصوص دارید یا منبع فارسی رو سراغ دارید ؟
    مرسی بابت وقتی که گذاشتید .

    • امیرحسین علیجانی

      سلام ، ممنون وقت شما هم بخیر
      متاسفانه خیر ، منبع فارسی برای این مباحث نمیشناسم
      ولی پیشنهاد میکنم خودتون رو با منابع انگلیسی درگیر کنید ، حتی اگر براتون مشکله از مترجم ها کمک بگیرید
      در کل سعی کنید سطح زبانتون رو بالا ببرید نه فقط برای این بحث کلا در برنامه نویسی خیلی کمکتون می‌کنه
      موفق باشید 🌹

  17. محمدرضا تورانی (خریدار محصول)

    سلام وقت بخیر
    دوره مفیدی بود ، خسته نباشید.
    یک سوال داشتم در رابطه با exe گرفتن ، آیا pyqt5 تمامی package هایی که در برنامه استفاده شده رو خودش جمع آوری میکنه؟
    چون من یک برنامه ای نوشتم که از کتابخونه Tensorflow استفاده میکنه اما وقتی exe میگیرم بخشی که از Tensorflow استفاده شده اصلا کار نمیکنه. ( فقط روی سیستم خودم کار میکنه که python و کتابخونه های لازم نصب هستش)
    ممنون میشم راهنمایی کنید.

    • امیرحسین علیجانی

      سلام
      وقت شما هم بخیر ، ممنون
      خیر ، پکیج بندی رو ماژولی انجام میده که توسط اون خروجی گرفته میشه که در اینجا ما از ماژول pyinstaller استفاده کردیم
      بعضی از ماژول هایی که داخل کد استفاده میشه به صورت پیشفرض پکیج بندی نمیشه و شما باید تغیراتی رو در فایل spec اعمال کنید.
      پیشنهاد میشه از برگ
      آموزش تولید فایل نصب exe ویندوز از پروژه پای گیم (Pygame) به کمک Pyinstaller
      که توسط استاد آصفی به صورت رایگان تهیه شده ، کمک بگیرید

      با تشکر 🌹

  18. علی صادق نژاد

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

    • امیرحسین علیجانی

      سلام به شما
      ممتون ، وقت شما هم بخیر
      باید از سیگنال itemClicked استفاده کرده و در تابعی که قراره با کلیک روی ایتم ها فراخوانی بشه ، بین ایتم ها و فرزندانشون تفاوت قائل بشید.

  19. محمدرضا تورانی (خریدار محصول)

    سلام
    درس 23: ساخت مینی اپ مدیریت کافه (پارت دوم : نوشتن کد برنامه و تعریف منطق ها)
    پارت دوم داخل فایل نبود!!
    ممنون میشم پیگیری کنید.

    • امیرحسین علیجانی

      سلام به شما
      چون مدت زمان و حجم درس 23 ( هم تعریف منطق و کد نویسی و هم طراحی فرم ها ) زیاد شد ، تصمیم گرفتیم پارت های این درس رو داخل یک فایل قرار ندیم و در قالب دو فایل قابل دانلود باشه
      لطفاً ویدیوی بعدی که پارت دوم همین قسمت هست رو دانلود و استفاده کنید.
      ممنون🌹

  20. مصطفی آصفی

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

    • امیرحسین علیجانی

      سلام و عرض ادب خدمت استاد عزیز و گرانقدر 🙏
      ممنون از لطفتون
      مثل همیشه ، با راهنمایی های درست و عالی شما 🌹❤️

  21. ابوالفضل حسن زاده

    سلام مهندس علیجانی.
    تبریک میگم به شما انشاالله که دوره های بیشتر و کاربردی تری رو از شما شاهد باشیم . انشاالله من خودم هم میخوام که فراگیر این دوره باشم و این فریم ورک باحال پایتونی رو هم یاد بگیرم و ازش استفاده کنم.

    • امیرحسین علیجانی

      سلام به شما
      ممنون از لطف و توجهتون
      انشالله دوره مفید واقع بشه
      🌹🙏

دیدگاه خود را بنویسید

نظرات کاربران در خصوص دوره 

21 دیدگاه برای آموزش PyQt5 — پای کیوت مقدماتی تا پیشرفته همراه پروژه

  1. حسین تفریشی (خریدار محصول)

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

  2. نیما باقریان

    جناب مهندس علیجانی
    با سلام،
    ایا شما پروژه برنامه نویسی با QMLو ++C را هم قبول میفرمایید یا شخصی مسلط میتوانید به ما معرفی نمایید.
    با سپاس.

  3. alii

    سلام خسته نباشید
    ایا توی این دوره , گرفتن خروجی از یه دکمه به صورت عکس اموزش میدید؟
    میخوام توی qt designer وقتی یک دکمه یا عدد را وارد کردم یه عکس مربوطه روی صفحه , خروجی بگیرم
    ایاممکنه؟

    • امیرحسین علیجانی

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

  4. سعید (خریدار محصول)

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

  5. سعید (خریدار محصول)

    از پاسخ گویی شما واقعآ ممنونم

  6. سعید (خریدار محصول)

    AttributeError: partially initialized module ‘serial’ has no attribute ‘Serial’ (most likely due to a circular import)

  7. سعید (خریدار محصول)

    سلام مجدد خدمت استاد عزیز
    من یک سئوال غیر مرتبط با مبحث QT دارم ممنون میشم که راهنمایی کنید
    من قصد دارم از کتابخانه pyserial برای ارسال دیتا از طریق پورت سریال استفاده کنم یک سمپل مطابق مثال های موجود در اینترنت را run کردم اما خطای زیر را مشاهده کردم

    • امیرحسین علیجانی

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

  8. سعید (خریدار محصول)

    سلام خدمت استاد عزیز
    من دو صفحه مجزا با دیزانر ساختم وقتی کد صفحات را بصورت مجزا با vscode اجرا میکنم تمامی باتن ها به درستی کار میکنند اما وقتی یکی از صفحات را مطابق آموزش شما به صفحه اول اضافه میکنم با زدن باتن مربوطه در صفحه اول صفحه دوم باز میشود(تا اینجا همه چیز درست است)اما اگر هرکدام از باتن های صفحه دوم که فشار داده شود هردو صفحه(هم صفحه اول و هم صفحه دوم)بسته میشوند

    • امیرحسین علیجانی

      سلام وقتتون بخیر
      وقتی برنامتون به طور ناگهانی بسته میشه به این معنی هست که کدتون باگ داره برای اینکه متوجه بشید مشکل کجاست باید با ترمینال vscode برنامه رو اجرا کنید تا بتونید ارور ها رو بخونید ، داخل vscode روی دکمه run راست کلیک کنید و run as terminal رو بزنید یا اینکه از منوی بالای نرم افزار terminal رو باز کنید و دستور python file.py که file اسم فایل فرم ابتدایی شما هست رو وارد کنید ، همونطور که خودتون گفتید باتن فرم دوم رو کلیک کنید به ترمینال برگردید و ببینید چه اروری دارید
      موفق باشید

  9. صهیب (خریدار محصول)

    سلام. خیلی ممنون آموزش خوبی بود لطف کنید دوره پیشرفته هم بگذارید

    • امیرحسین علیجانی

      سلام ممنون از نظرتون ، چشم به زودی ارائه میشه 🌹

  10. ehsan.eslami.1364@gmail.com (خریدار محصول)

    سلام من واقعا برای نصب pyqt5 مشکل دارم اصلا نصب نمیشه دستورات رو که تو cmd میزنم پیغام خطا میده

    • امیرحسین علیجانی

      سلام وقتتون بخیر ، بفرمایید خطایی که دریافت میکنید چیه ؟

  11. hossein.sayyedmousavi@gmail.com (خریدار محصول)

    سلام با ابن که مدرس دوره جوان است اما بسیار کم نقص و بی نظیر بود. از شما متشکرم. فقط انتقادی که وجود داره اینه که عملا این دوره مقدماتی است و پیشرفته آن هنوز ارائه نشده پس لطفا نام دوره رو تغییر بدید که کاربر دچار اشتباه نشه.

    • امیرحسین علیجانی

      سلام ، ممنون از لطفتون 🌹
      سعی میکنم دوره پیشرفته رو هم زود تر آماده کنم

  12. مجید

    اونایی که تو نصب کیوتی دیزاینر (Qt desgner) مشکل دارند . توی cmd دستور pip install PyQt5Designer رو بزنند بعد نصب با سرچ Qt desgnerت و درایو c ب این برنامه دسترسی دارند.

    • امیرحسین علیجانی

      ممنون از راهنماییتون 🌹

  13. M

    سلام ،
    میشه در نصب کیوتی دیزاینر
    کمکم کنید ؟

    چطور نصبش کنم ؟
    فقط همین رو لازم دارم
    ممنونم

    • امیرحسین علیجانی

      سلام ، وقتتون بخیر
      کافیه با دستور python -m pip install PyQt5-tools ابتدا ابزار PyQt رو نصب کنید و بعد با مراجعه به ادرس نصب مفسر پایتون و :

      Libsite-packagesqt5_applicationsQtbin
      به دیزاینر دسترسی داشته باشید.

  14. مجید

    سلام خسته نباشید .
    با pyqt5 میشه اپ اندرویدی آنلاین مثل اسنپ و… ساخت؟
    🤝

    • امیرحسین علیجانی

      سلام ، وقتتون بخیر
      از pyqt5 میشه خروجی اندروید گرفت و از طرفی میشه با این ماژول اپ های آنلاین توسعه داد …
      ولی اگر نظر شخصی بنده رو بخواید ، میگم برای توسعه اپ های پیشرفته اندرویدی بهتره سمت زبان های مخصوص اندروید بریم تا اینکه از ماژول های کراس پلتفرم زبان های دیگه استفاده کنیم …
      موفق باشید .

  15. ابوذر رحمانی (خریدار محصول)

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

    • امیرحسین علیجانی

      سلام
      ممنون وقت شما هم بخیر
      حق با شماست ، واقعیت اینه که اول قرار بود دوره طولانی تر و مباحث مفصل تر بیان بشه اما تصمیم گرفته شد دوره کوتاه تر و ادامه ی مباحث در قالب دوره های بعد ارائه بشه
      برنامه داریم که دوره ای مختص طراحی بهتر با pyqt منتشر کنیم که حتما به این موضوع مفصل می‌پردازیم
      ممنون از توجهتون ❤️

  16. سجاد

    سلام وقتتون بخیر .
    من دنبال آموزش پیشرفته pyqt هستم ترجیحا pyqt6 ولی خوب pyqt5 هم بود مشکلی نیست .
    مباحثی مثل pyqtsignal و qthread و qthreadpool و …
    آیا شما آموزشی در این خصوص دارید یا منبع فارسی رو سراغ دارید ؟
    مرسی بابت وقتی که گذاشتید .

    • امیرحسین علیجانی

      سلام ، ممنون وقت شما هم بخیر
      متاسفانه خیر ، منبع فارسی برای این مباحث نمیشناسم
      ولی پیشنهاد میکنم خودتون رو با منابع انگلیسی درگیر کنید ، حتی اگر براتون مشکله از مترجم ها کمک بگیرید
      در کل سعی کنید سطح زبانتون رو بالا ببرید نه فقط برای این بحث کلا در برنامه نویسی خیلی کمکتون می‌کنه
      موفق باشید 🌹

  17. محمدرضا تورانی (خریدار محصول)

    سلام وقت بخیر
    دوره مفیدی بود ، خسته نباشید.
    یک سوال داشتم در رابطه با exe گرفتن ، آیا pyqt5 تمامی package هایی که در برنامه استفاده شده رو خودش جمع آوری میکنه؟
    چون من یک برنامه ای نوشتم که از کتابخونه Tensorflow استفاده میکنه اما وقتی exe میگیرم بخشی که از Tensorflow استفاده شده اصلا کار نمیکنه. ( فقط روی سیستم خودم کار میکنه که python و کتابخونه های لازم نصب هستش)
    ممنون میشم راهنمایی کنید.

    • امیرحسین علیجانی

      سلام
      وقت شما هم بخیر ، ممنون
      خیر ، پکیج بندی رو ماژولی انجام میده که توسط اون خروجی گرفته میشه که در اینجا ما از ماژول pyinstaller استفاده کردیم
      بعضی از ماژول هایی که داخل کد استفاده میشه به صورت پیشفرض پکیج بندی نمیشه و شما باید تغیراتی رو در فایل spec اعمال کنید.
      پیشنهاد میشه از برگ
      آموزش تولید فایل نصب exe ویندوز از پروژه پای گیم (Pygame) به کمک Pyinstaller
      که توسط استاد آصفی به صورت رایگان تهیه شده ، کمک بگیرید

      با تشکر 🌹

  18. علی صادق نژاد

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

    • امیرحسین علیجانی

      سلام به شما
      ممتون ، وقت شما هم بخیر
      باید از سیگنال itemClicked استفاده کرده و در تابعی که قراره با کلیک روی ایتم ها فراخوانی بشه ، بین ایتم ها و فرزندانشون تفاوت قائل بشید.

  19. محمدرضا تورانی (خریدار محصول)

    سلام
    درس 23: ساخت مینی اپ مدیریت کافه (پارت دوم : نوشتن کد برنامه و تعریف منطق ها)
    پارت دوم داخل فایل نبود!!
    ممنون میشم پیگیری کنید.

    • امیرحسین علیجانی

      سلام به شما
      چون مدت زمان و حجم درس 23 ( هم تعریف منطق و کد نویسی و هم طراحی فرم ها ) زیاد شد ، تصمیم گرفتیم پارت های این درس رو داخل یک فایل قرار ندیم و در قالب دو فایل قابل دانلود باشه
      لطفاً ویدیوی بعدی که پارت دوم همین قسمت هست رو دانلود و استفاده کنید.
      ممنون🌹

  20. مصطفی آصفی

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

    • امیرحسین علیجانی

      سلام و عرض ادب خدمت استاد عزیز و گرانقدر 🙏
      ممنون از لطفتون
      مثل همیشه ، با راهنمایی های درست و عالی شما 🌹❤️

  21. ابوالفضل حسن زاده

    سلام مهندس علیجانی.
    تبریک میگم به شما انشاالله که دوره های بیشتر و کاربردی تری رو از شما شاهد باشیم . انشاالله من خودم هم میخوام که فراگیر این دوره باشم و این فریم ورک باحال پایتونی رو هم یاد بگیرم و ازش استفاده کنم.

    • امیرحسین علیجانی

      سلام به شما
      ممنون از لطف و توجهتون
      انشالله دوره مفید واقع بشه
      🌹🙏

دیدگاه خود را بنویسید