علوم کامپیوتر دانشگاه اصفهان

علوم کامپیوتر دانشگاه اصفهان
طبقه بندی موضوعی

آموزش کیوت!

جمعه, ۲۴ مرداد ۱۳۹۳، ۱۱:۳۸ ق.ظ

از این ببعد یک سری آموزش کیوت رو توی این بلاگ قرار میدم (به عبارت بهتر کپی میکنم) که توسط آقای کامبیزاسدزاده در نت منتشر گردیده.

امیدوارم مفید واقع بشه 



لیست آموزش ها:

  • مقدمات و معرفی Qt برای شروع کار
  • راهنمایی برای دانلود مناسبترین نسخه از Qt
  • معرفی و کار با Signal و Slot ها و Event ها
  • معرفی و کار با نمایش Windows
  • معرفی و کار با لایه ها زبانه ها و بدنه های در طراحی
  • معرفی و کار با قابلیت های HTML و CSS در طراحی
  • معرفی و کار با لایه های افقی و عمودی
  • معرفی و کار با لایه های Grid در طراحی فرم
  • معرفی و کار با جدا کننده ها Splitter
  • معرفی و کار با دایرکتوری ها
  • معرفی و کار با فایل ها / خواندن و نوشتن در آن ها
  • معرفی و کار با برچسب ها Label
  • معرفی و کار با دکمه ها Button
  • معرفی و کار با کنترل ورودی LineEdit
  • معرفی و کار با چک باکس CheckBox
  • معرفی و کار با RadioButton
  • معرفی و کار با Combobox
  • معرفی و کار با لیست ها / ListWidget
  • معرفی و کار با لیست های درختی / TreeWidget
  • معرفی و کار با Action ها
  • معرفی و کار با Slider و Progress ها
  • معرفی و کار با Statusbar در فرم
  • معرفی و کار با MessageBox
  • معرفی و کار با Timer
  • معرفی و کار با Thread ها
  • معرفی و کار با Map
  • معرفی و کار با Hash
  • معرفی و کار با QStringList/ لیست رشته ای
  • معرفی و کار با الگوریتم های مرتب سازی
  • معرفی و کار با الگوریتم های جستجو
  • معرفی و کار با Tooltip ها همراه با قابلیت های ویژه
  • معرفی و کار شبکه / دانلود فایل بر اساس پروتکل های HTTP و FTP
  • معرفی و کار با باینری و سریالیز کردن آبجکت ها
  • معرفی و کار با TextStream ها
  • مقایسه انواع حالت های کامپایل در Qt
  • در حال بررسی موارد مناسب و هماهنگ با Qt 5.3 برای آموزش


  • قسمت اول در ادامه مطالب



    خب مرحله 1 : مقدمات و معرفی Qt برای شروع کار :

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

    همانطور که می دانید امروزه توسعه نرم افزار و به روز رسانی های آن در انواع پلتفرم ها از قبیل Linux , Windows , Mac OS X و همچنین پلتفرم های موبایلی و تبلتی از قبیل Andoird , IOS , Backberry و ... با سرعت بسیار زیادی دنبال می شود ؛ همچنین آرزوی اکثر برنامه نویسان این است که یک زبان ویژه با تمامی قابلیت ها و مهمتر از همه پشتیبانی از Objective Oriented وPerformance بالا رو همراه با یک IDE همه کاره و جذاب در اختیار داشته باشند که در این صورت به جای تجربه کردن تمامی محیط های برنامه نویسی در این زمینه ها پیشنهاد میکنم خیلی راه دوری نروید زیرا با استفاده از محیط برنامه نویسی Qt که پشتشم یه زبان غولی مثل C++‎‎‎‎ واستاده تقریبا همه آرزوهای شما در برنامه نویسی فراهم می شود.

    در رابطه با توانایی ها و قدرت زبان C++‎‎‎‎ آشنا هستید اینکه یک زبان مادر (پایه) است و خود مستقیم بدون متکی و وابسته بودن یه به سیستم عامل یا زبان برنامه نویسی دیگری کار خودش رو انجام می دهد , در این میان طی این سال ها که زبان های برنامه نویسی پیشرفته بسیار زیادی رو داشتند طوری که برنامه نویسان به راحتی میتوانند توسط زبان های مثل C#‎‎‎‎ و ... برنامه های مورد نظر خود را در کمترین زمان با محیط و گرافیک قابل توجهی تولید کنند که تمامی این موارد باعث شده بود زبان C++‎‎‎‎ از نظر برنامه نویسان بی حوصله یک زبان سخت و خواستار حال حوصله درست حسابی از طرف برنامه نویس می باشد بنا بر این دلایل سختی و همچنین ساده نبودن طراحی توسط این زبان شاید دلیلی برای کم رنگ شدن این زبان در طراحی و تولید فرم ها و خروجی های قوی بود که ذتا هر کسی که با این زبان واقعا کار کرده میداند که چنین نیست ! زیرا به تنهایی تکمیل و جامع است فقط وقت و کد نویسی بیشتری برای تولید خروجی های مشابه در زبان های دیگری همچون C#‎‎‎‎ را دارد ؛ حال چکار کنیم ؟ آیا با این حال برنامه نویسی با سرعت کم در این زبان خواهان خودش رو داره ؟ 

    جواب سوال رو اینگونه پاسخ میدم : اولا نیازی نیست به کد نویسی زیاد و سخت چون همونطور که زبان های دیگه در طی این سالها پیشرفت کرده زبان C++‎‎‎‎ هم خالی از پیشرفت نبوده و نسبت به قبل بسیار توانمند و خود کفاست , در این میان نه تنها در رابطه با قابلیت ها موارد زیادی در نسخه های 11 این زبان رفع و توسعه داده شده است در کنار این IDE بسیار جذابی که به داد برنامه نویسان و مشتاقان این زبان اومده به نام Qt ! با آوای (کی یوت) یا کیوت؛

    همه چیز ساده تر , روانتر و جذابتر شده و سرعت برنامه نویسی و طراحی فرم ها و قالب بندی های پیشرفته که قبلا نیاز به کد نویسی های بسیار زیادی داشت بسیار بهتر از قبل شده به طوری که به جرئت میتونم بگم من خودم که بسیار سخت پسند هستم در نگاه اول کار با Qt رو پسندیدم , این محیط بر خلاف محیط های VS به هیچ عنوان سیاست انحصاری بودن رو ندارد و فقط ویندوز نیست که از قدرتمندترین IDE این دوره زمونه پشتیبانی میکند بلکه سیستم عامل های قدرتمند یونیکسی مثل Linux Ubuntu و Mac OS X این محیط برنامه نویسی خارق العاده رو کاملا پشتیبانی میکنن و این در ابتدای کار به تنهایی ارزشمند است.

    از قابلیت هایی که نمیشه ازشون به این راحتی چشم پوشی کرد می توان به قابلیت Cross platform بودن برنامه های تولید شده توسط C++‎‎‎‎/Qt اشاره کرد که شما به راحتی میتونید خروجی رو در سیستم عامل مورد نظرتون دریافت و کامپایل کنید حتی سیستم عامل هایی مثل IOS و Android که امروزه برنامه نویسی موبایل هم یجورایی بازارش گرمه.

    قابلیت ها در طراحی : قابلیت طراحی فوق العاده با QML و همچنین پشتیبانی از CSS و HTML یکی دیگه از مزایای Qt هستش که میتونید برنامتون رو بترکونید مثلا فرض کنید یک فرم طراحی میکنید در حالت عادی خالی از style و افکت های ویژه هست برای این کار میتونید با استفاده از HTML و CSS برنامتون رو به طور شگفت انگیزی طراحی کنید.

    استفاده از قابلیت های HTML یکی از بهترین و جذابترین مواردی میتونه باشه که در برنامه نویسی Desktop و Mobile خیلی خیلی جذاب خواهد بود همه این قابلیت ها دست به دست هم میدن تا برنامه نویس سختی های C++‎‎‎‎ رو فراموش کنه و با علاقه تمام برنامش رو طراحی و در نهایت ری هر پلتفرمی که دوست داره کامپایل کنه.

    یه چکیده کلی از تعریف این محیط : دیگه نیازی نخواهد بود برین سراغ Objective-C برای تولید نرم افزار های IOS و MAC OS X یا نیازی نیست برید سراغ Java برای تولید نرم افزار های Android یا نیازی نیست برید سراغ زبان های بدبختی مثل VB یا C#‎‎‎‎ برای تولید برنامه های ویندوزی ! و در نهایت نیازی نیست فقط مجبور باشید برای صنعت سخت افزار از C++‎‎‎‎ استفاده کنید بلکه با داشتن علم یک زبان قدرتمندی مثل C++‎‎‎‎ میتونید با یک تیر چندین نشان رو همچین بزنید که خدا بداند که چه شود !!!

    یادم نره بگم که میتونید طراحی وب هم داشته باشید هامنظورم از همه کاره بودن یعنی واقعا همه کارست :)

    پس شد یاد گیری زبان C++‎‎‎‎ و آشنایی با محیط Qt که یک نوع فریم ورک ویژه ای برای این زبان است برنامتون رو بترکونید حالا با در نظر داشتن اینکه اطلاعات HTML , CSS , QML , JavaScript رو هم دارید دیگه چه بهتر هرطور که مهربونتون می خواد مانور بدین که در نهایت منجر به یک خروجی مقابل میشود : قدرت , سرعت , کیفیت , ارتباط مستقیم با سخت افزار ! و در کنار این محیط با کیفیت بالا و همچنین طراحی مدرن همه و همه در خروجی نهایی برنامه شما حس خواهد شد.


    حالا هی برید بگید C++‎‎‎‎ سخته و یا C++‎‎‎‎ هیچی نمیشه باهاش ساخت :) برید هی تاپیک باز کنید که از کدوم زبان استفاده کنم ! همه این برنامه های غولی که روزانه باهاشون در ارتباط هستید از C++‎‎‎‎ اب میخوره... 

    موافقین ۱ مخالفین ۰ ۹۳/۰۵/۲۴
    سعید جزی

    نظرات  (۰)

    هیچ نظری هنوز ثبت نشده است

    ارسال نظر

    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی