آموزش شروع کار با نرم افزار Qt یا کیوت

در مقاله قبل دلیل استفاده از نرم افزار Qt و نحوه دانلود و نصب آن را بررسی نمودیم. در این آموزش می خواهیم کار با نرم­ افزار کیوت را آغاز کنیم. بنابراین برای شروع کار با نرم افزار Qt و نوشتن اولین برنامه در Qt با این آموزش همراه باشید.

لازم به ذکر است برای دنبال کردن این مجموعه آموزشی، آشنایی اولیه با زبان C کافی است و به تمام نکات مربوط به کار با زبان ++C و خود نرم افزار Qt حین آموزش اشاره خواهیم کرد.

محیط کلی Qt بعد از اجرا به صورت زیر است:

گزینه “New Project” را انتخاب کنید (یا از منوی File، گزینه “New File or Project..” را انتخاب نمائید) در پنجره باز شده، از سربرگ “Projects” گزینه “Application” را انتخاب کنید:

همان طور که مشاهده می شود، انواع مختلفی از Application را می توان انتخاب نمود. “Qt Quick Application” ها مربوط به کدنویسی به زبان QML هستند. پروژه­ای که به کمک “Qt Console Application” ساخته شود، خروجی برنامه را در محیط console نمایش می دهد. اما کاربرد استاندارد و معمول، پروژه­ای از نوع  “Qt Widgets Application” می باشد که امکان برنامه‌­نویسی به زبان ++C را به همراه امکان ایجاد محیط گرافیکی ایجاد می کند.

به عنوان مثال اول، می خواهیم یک پروژه از نوع “Qt Console Application” ایجاد کنیم. بنابراین روی گزینه “Qt Console Application” کلیک کرده و “choose” را انتخاب می کنیم. سپس نام پروژه و محل ذخیره آن را انتخاب می نمائیم. دقت کنید برای ذخیره پروژه، حتما فولدری متناسب با نام پروژه (نه لزوماً یکسان با آن) ایجاد کرده و آن را به عنوان محل ذخیره پروژه انتخاب کنید.

با انتخاب گزینه “Next” پنجره زیر نمایان می شود.

در اینجا مکانیزم Build کردن پروژه را روی همان گزینه پیش­فرض یعنی “qmake” قرار می دهیم و “Next” را انتخاب می کنیم.

مطلب پیشنهادی:  نحوه استفاده از سیگنال و اسلات در کیوت - نوشتن برنامه در Qt بدون استفاده از فرم ها

در پنجره “Kit Selection” باید نوع کامپایلری که قصد داریم استفاده کنیم، انتخاب نمائیم که انتخاب ما MinGW است.

با انتخاب “Next” پنجره زیر نمایان می­ شود:

با انتخاب “Finish” پروژه ایجاد می­ شود.

همان­ طور که مشاهده می­ کنید، پروژه ایجاد شده در نرم افزار Qt شامل دو فایل با پسوند “.pro” و “.cpp” است. فایل با فرمت “.pro” که در واقع پروفایل برنامه است، کتابخانه­ های مورد نظر را فراخوانی می­ کند. همچنین سورس ­های برنامه در این فایل به پروژه اضافه می­ شوند. فایل با پسوند “.cpp” در فولدر “Sources” قرار دارد و کدی که مورد نظر ماست در این قسمت نوشته می­ شود.

به نرم ­افزار Qt کتابخانه ­هایی اضافه شده تا کار با ++C را راحت­ تر کند. در این مثال می­ خواهیم عبارت “Hello Word!”  که یک داده از نوع String است، به عنوان خروجی برنامه مشاهده کنیم. در ++C نمی­ توان به صورت مستقیم یک String تعریف کرد و باید توسط کاراکترها آن را ایجاد نمود. اما در نرم افزار Qt این امکان ایجاد شده که نوع داده String تعریف کنیم.

برای چاپ یک عبارت یا مقدار در نرم افزار کیوت، از کتابخانه “QDebug” و دستور “()qDebug” استفاده می شود. بنابراین ابتدا کتابخانه مد نظر را به برنامه اضافه می کنیم.

#include <QDebug>

سپس یک داده از نوع String تعریف نموده و آن را چاپ می کنیم.

 

QString myString = "Hello Word!";
 qDebug() << myString;

myString نام دلخواهی است که ما انتخاب کردیم و می­ توانست هر نام دلخواه دیگری باشد.

نوع build برنامه را روی Release قرار می دهیم و با کلیک روی دکمه run ( و یا استفاده از میانبر “ctrl + R” )، برنامه را اجرا می کنیم.

مطلب پیشنهادی:  آموزش کار با گیت هاب GitHub

بعد از اجرای برنامه مشاهده می کنیم عبارت تعریف­ شده، در محیط console نمایش داده می شود:

 

چند نکته مهم در کار با نرم افزار Qt

نکته اول: حین نوشتن برنامه در نرم ­افزار Qt، قوانین تعریف متغیر (=Variable) را در نظر بگیرید.

قانون تعریف variable در C++ این است که

  • نام متغیر می تواند شامل حروف a تا z بزرگ و کوچک، اعداد 0 تا 9 و کارکتر “_” (unedrscore) باشد.
  • نام متغیر باید با حرف کوچک یا با کارکتر “_” شروع شود.
  • نام متغیر به حروف بزرگ و کوچک حساس است (Case sensitive).

استانداردی که در کیوت رعایت می شود به این شکل است که نام variable با حرف کوچک شروع می گردد و به جای استفاده از کارکتر “_” کلمات بعدی با حروف بزرگ آغاز شوند (مانند myString به جای my_string).

نکته دوم: میانبر “Ctrl + Space” در کدنویسی بسیار کمک می کند. سعی کنید از این میانبر زیاد استفاده کنید، چرا که راهنمای خوبی برای این است که در چه جایی از کد اجازه تعریف یا استفاده از چه متغیری را داریم. همچنین باعث بالا بردن سرعت کدنویسی می شود. مثلا برای تایپ “qDebug” کافی است “qd” را تایپ کنید و بعد با استفاده از میانبر “Ctrl + Space” لیستی از عبارات قابل استفاده را مشاهده می کنید. همین طور برای تایپ متغیرهایی که در برنامه تعریف کردید، با این میانبر به راحتی به لیستی از متغیرهای تعریف­ شده در برنامه دسترسی خواهید داشت. این قابلیت بعدها که تعداد متغیرهای برنامه زیاد شد، به شرط انتخاب اسم مناسب برای متغیرها ( که در جای خود به آن اشاره خواهیم کرد) بسیار کارآمد است.

نکته سوم: نگاهی به مسیر ذخیره­ ی پروژه ایجادشده در نرم افزار کیوت بیاندازید. در کنار فولدر پروژه، فولدر دیگری ساخته شده ­است. این فولدر بعد از build کردن برنامه و در کنار فولدر پروژه ایجاد می شود. برای همین تاکید کردیم حتماً پروژه را در پوشه­ ای با نامی متناسب با نام پروژه ذخیره کنید. چون تعداد پروژه­ ها که زیاد شود، شما تعداد زیادی فولدر پروژه و فولدر build خواهید داشت که باعث بی­ نظمی کار شما می شود.

مطلب پیشنهادی:  ساختمان یا استراکچر (struct) در زبان برنامه نویسی C

نکته چهارم: اگر خواستید برنامه نوشته­ شده را در یک کامپیوتر دیگر اجرا کنید، ابتدا فایل با پسوند “.user” را از فولدر پروژه و همچنین فولدر build را حذف کنید. چون این فایل­ ها مختص سیستم شما و مسیر ذخیره پروژه شما ایجاد شده ­اند. لذا حتی برای عوض کردن مسیر پروژه در کامپیوتر خودتان هم باید این کار را انجام دهید، در غیر این صورت فولدر build در مسیر قبلی پروژه ایجاد می شود. بعد از این کار روی فایل “.pro” دابل کلیک کنید. در پنجره زیر، نوع کامپایلر را انتخاب و سپس Configure را انتخاب نمائید.

حالا به مسیر ذخیره پروژه نگاهی بیندازید. فایل “.user” مخصوص کامپیوتر شما و مسیر ذخیره فعلی فولدر پروژه شما ایجاد شده است. دوباره مراحل انتخاب مود build و سپس run را انجام دهید. اکنون فولدر build هم ساخته شده است. این فایل بار اول که برنامه را اجرا می کنید ساخته می شود. برای همین اجرای اول برنامه معمولاً زمانبرتر از اجراهای بعدی خواهد بود.

در آموزش بعدی کار با نرم افزار Qt را به ­صورت گرافیکی دنبال خواهیم کرد.

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

مطالعه دیگر جلسات این آموزش<< جلسه قبلی                    جلسه بعدی >>

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

14 دیدگاه

  1. بسیار عاااالی… دستتون درد نکنه…

  2. بی صبرانه منتظر جلسات بعدی هستیم…

  3. سلام، خسته نباشید…
    من یه چندتا سوال داشتم…
    اول اینکه من با زبان C کار کردم ولی با C++ آشنایی ندارم، لازمه که درکنار آمورش شما با این زبان هم کارکنم؟
    دوم اینکه چیزی که من متوجه شدم نرم افزار qt در واقع یک نرم افزار واسط هست بین نرم افزار اصلی و کاربر، آیا میشه با این نرمافزار به صورت مستقل هم کار کرد؟
    و سوم اینکه من چندتا کد با نرم افزار متلب نوشتم و از طریق GUI متلب رابط کاربری براشون ایجاد کردم، ایا با QT میشه اینکار رو انجام داد؟
    باز هم تشکر از شما و ببخشید که سوالاتم زیاد شد…

    • میلاد جهاندیده

      سلام، در مورد سوال اولتون باید بگم سی و سی پلاس پلاس کمی متفاوت هستن و مفاهیم جدیدی در ++C اضافه شده مثل شی گرایی ، کلاس و… که باید اول اینا را یادبگیرید و بعد ادامه مسیر را برید که یک جلسه بعد از این جلسه ما اختصاص دادیم به مفاهیم شی و کلاس …
      در مورد سوال دومتون بنظرم جلسه اول آموزش را بخونید دقیقا متوجه میشید که Qt چی هست. ولی در حقیقت Qt به زبان امروزی پلتفرمی برای زبان ++C است. یا بهتره بگیم یکسری لایبری خیلی خوب برای ++C با امکانات فوق العاده بخصوص در زمینه ویجت های گرافیکی که زبان سی پلاس پلاس را انعطاف پذیر تر میکنه…البته الان کیوت از زبان های برنامه نویسی دیگر هم ساپورت میکنه…
      سوال سومتون را جوابشو نمیدونم دقیقا ولی اگر منظورتان ایجاد GUI با کیوت است که بله خیلی بهتر از متلب را میشه در کیوت ایجاد کرد. حتی بعضی از دسکتاپ های مشهور سیستم عامل لینوکس با کیوت طراحی شده…و پروتئوس ورژن جدید با کیوت است و همچنین تلگرام نسخه دسکتاپ را اگر سورسش را چک کنید با Qt نوشته شده…پس شکی در قدرت و انعطاف پذیری کیوت در بعضی کاربردها نیست.

  4. با عرض سلام و تشکر بابت آموزش‌هایی که قرار میدید، من در رابطه با نصب نرم‌افزار یه مشکلی داشتم و اونم اینه که هیچ کدوم از کیتها هنگام نصب در گزینه‌ها نیستن که انتخاب کنم مثلا MinGW یا MSVC … . به همین دلیل اصلا نمیتونم بعد از نصب، پروژه جدیدی ایجاد کنم..
    خیلی ممنون میشم اگر راهنمایی کنید.

  5. سلام من موقع اجرا کردن کد با این خطا ها مواجه میشم
    Maybe you forgot to setup the environment?
    Error while parsing file G:\QT\label\label\label.pro. Giving up.
    C and C++ compiler paths differ. C compiler may not work.
    C and C++ compiler paths differ. C compiler may not work.
    Project ERROR: You need to set the ANDROID_NDK_ROOT environment variable to point to your Android NDK.
    Could not read qmake configuration file C:/Qt/Qt5.14.2/5.14.2/android/mkspecs/android-clang/qmake.conf.
    Project ERROR: You need to set the ANDROID_NDK_ROOT environment variable to point to your Android NDK.
    Could not read qmake configuration file C:/Qt/Qt5.14.2/5.14.2/android/mkspecs/android-clang/qmake.conf.

  6. من برنامه نصب کردم اما در ایجاد پروه kit مشکل می گیره نمی دونم چه جوری kit بسازم
    No suitable kits found.
    Add a kit in the options or via the maintenance tool of the SDK.

    kkk

  7. سلام خسته نباشید من یه پروژه ی qt quick Application ساختم اما وقتی میرم توی قسمت design یه پیقام به من میده
    qt emulation layer crashed میخواستم بدونم مشکل از کجاست

    • میلاد جهاندیده

      سلام میلا عزیز، من باهاش کار نکردم ولی خطا کرش یا crashed یعنی اینکه یجا باگ داره یا ایراد داره و اصلا برنامه میره دیوار و اجرا نمیشه شاید خود qt quick Application یا نصب و موارد مشابه ایراد داشته باشن.

  8. سلام وقت بخیر.
    بنده دانشجوی مهندسی برق-الکترونیک مقطع کارشناسی هستم و این ترم پروژه کارشناسی برداشتم استادم هم گفت که از این نرم افزار اسفاده کن میخواستم بدونم امکانش هست یه پروژه آماده تو سایت برای مقطع کارشناسی (که حالا زیاد معمولا سخت نمیگیرن) قرار بدید یا اگه هست راهنماییم کنید. ممنون از لطفتون.

  9. عالی بود سپاسگزارم

  10. محمدرضا یوسفی

    سلام ضمن تشکر از آموزش خوبتون به زبان ساده و روان و خیلی عالی لطفا در صورت امکان بنده به مشکلی برخوردم که اگه امکان داره راهنمایی بفرمایید.
    هنگام اجرای برنامه خطاهای زیر را نمایش می دهد و فایل exe نمی سازد البته قبلا مشکلی با اجرا نداشتم و جدیدا این مشکل پیش آمده.
    C:/Qt/Qt5.12.12/Tools/mingw730_64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/lib/../lib/libshell32.a: file not recognized: File truncated
    collect2.exe: error: ld returned 1 exit status
    mingw32-make[1]: *** [Makefile.Release:69: release/t10.exe] Error 1
    mingw32-make[1]: Leaving directory ‘C:/Users/Modir/Documents/qt_example/t10/build-t10-Desktop_Qt_5_12_12_MinGW_64_bit-Release’
    mingw32-make: *** [Makefile:38: release] Error 2
    10:02:24: The process “C:\Qt\Qt5.12.12\Tools\mingw730_64\bin\mingw32-make.exe” exited with code 2.
    Error while building/deploying project t10 (kit: Desktop Qt 5.12.12 MinGW 64-bit)
    When executing step “Make”