رفتن به مطلب

در سی/سی پلاس پلاس gui شروع نوشتن برنامه ها با


mortza
 اشتراک گذاری

ارسال های توصیه شده

RT3N
post توسط  RT3N بررسی شد!

mortza امتیاز 15 اهدا شد.

--------------------------------------------------------------------------------

رابط کاربری گرافیکی در سی /سی پلاس
--------------------------------------------------------------------------------

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

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

:به صورت کلی در هر زبانی شما به چندین طریق میتونید یک برنامه با رابط کاربری گرافیکی بسازین
با استفاده از فریمور ها و ایدی ای ها(Ide)
با استفاده از هدر ها و لایبری ها(کتابخانه ها)ی گرافیکی
با استفاده از تولکیت ها

هر قسمت رو توضیح میدیم و مثالی راجبش میگیم 
قبل از شروع گفتار باید بگیم که استفاده از هر کدوم به شما بستگی داره که از کدوم یک ازشون میخواین استفاده کنید 
اما نظر من اینه خودتون رو به دراگ و دارپ دلخوش نکنید درسته در بعضی از روش ها میتونید از این قابلیت جهت شخصی سازی بهتر استفاده کنید ولی خب کسی که تازه از سطح متوسط کار با سی پلاس در اومده نباید خودشو به این قابلیت عادت بده(چرا که باعث دردسر میشه😅...)
...بگذریم دیگه اینم یه تکنولوژیه

------------------
~1-Ide ها , فریمور ها
----
ide ها در واقع نزمقزار هایی هستن که دیباگ گیری و کد نویسی رو انی و راحت تر انجام میدن و بسیار برای برنامه نویسی گرافیک مناسبن
به طور کلی هر کسی برای این قابلیت ساده بودن و اشکال زدایی انی از این فریور ها استفاده میکنه و خب حق داره منم ازشون بهره میبرم(په چی فکر کردین!...)

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

چند تا از فریمور های معروف:
1_QT
2_VS Studio
3_U++

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

_QT
یک فرمور کراس پلتفرمه که شما میتونید در هر سه سیستم عامل چه مک چه ویندوز و چه لینوکس استفاده ازش کنید
بسیار دلپذیرهQT  کد نویسی با
و با پشتیبانی از دراگ و دراپ کردن(همونی که دوست داریم😁..)کار رو برای استفاده از اون به عنوان ساخت UI برای پروژتون بسیار اسون و راحت تر میکنه
در واقع شما هر چی بیشتر با این فریمور قدرتمند کار کنید برنامه های جذاب تری میتونید بنویسید 
بسیار اسونه حتی بخش هایی مختص به طراحی UI داره!
با این برنامه میتونید برای هر پلتفرمی از جمله اندروید و ویندوز برنامه بنویسید و محدودیتی ندارین 

 

Capture.thumb.PNG.7e6bac0de41a6669a3d62269502cba75.PNG

از قابلیت های جذابش به :


1_ساده بودن در عین کارایی بالا
2_یادگیری اسون و سریع برای همه
3_برنامه ها و سازمان های بزرگی ازش استفاده کردن و میکنن
4_کار با اون دلپذیره و در کنار تشخیص و دیباگ گیری در حین کد نویسی کارتون رو در پروژه های بزرگ و کوچیک راحت تر میکنه
5_برای یادگیری عالیه چون کلی اوپن سورس داره که از قبل نوشته شدن و برای شروع عالیه
6_رایگان و اوپن سورس بودن!دیگه چی میخواین!
7_....!

خلاصه که عالیه به شرطه ها و شروطه ها

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

از قابلیت هاش:


1_کار ها راحت و سریع انجام میشن و میتونید انواع پروژه ها رو با زدن یک فایل اجرا و کامپایل کنید
2_مثل qt هم میتونید بسیار راحت کد ها رو کلین کنید و خلاصه راحت از شر ارور ها خلاص شین
3_اگه به اروری خوردین میتونید در جا به رفعش اقدام کنید
4_خب یک نسخه رایگان داره....
4_دیگه چی بگم خوبه دیگه...

Capture.thumb.PNG.47c4f3001c69f2ffa8a29ae35937af0a.PNG
_U++
این هم از اون فریمور های خوبه که همچنین شما میتونید جدا گانه از لایبریش استفاده کنید
البته در اینجا از قالبلیت دراگ و دراپ کردن خبری نیست(من ندیدم راستشو بخواین..)
اما خب لایبری خوب دیباگ گیری و محیط کاملا شخصی سازی شده داره
بر خلاف سایر فریمور ها این ide نیازی به نصب نداره و خلاصه تنها کاری که قراره بکنین از فایل فشرده بازش کنید

Capture.thumb.PNG.ba77879d9a650acb49d1d3a381645c19.PNG

از کارایی که باهاش میشه کرد:


1_دارای یک لایبری غنی شده با سادگی
2_دیباگ گیری انی داره
3_محیطش یکم برای اشنایی سخته ولی وقتی بشناسینش خوبه
4_دارایTutorial در سایتش و کلی نرمفزار از پیش ساخته شده
 


------------------
~2-کتابخانه ها و هدر های رابط گرافیکی
----
یکی از روش های مطمعن و همچنین عالی برای عزیزانی که میخوان به سی پلاس مسلط بشن توی این حوزش استفاده از لایبری های موجوده
که اکثرا متن باز و اوپن سورس و رایگانن و همچنین ویژگی بارزه اکثر اون ها(به این دلیل میگم که بعضی ها فقط ماله ویندوزن..)کراس پلتفرم بودنه و میتونین باهاشون در همه دیوایس ها از اردوینو گرفته تا گوشی و مک و کامپیتر برنامه gui بنویسید و این یعنی عالی!
خلاصه که بسیار  خوبه این روش رو در پیش بگیرین خودتون میفهمین چرا
بعضی از لایبری ها توسط ویوژال استودیو و ویوژال کد شناسایی میشن و این خبر بسیار خوبیه برای کسی که میخواد از دیباگ گیری انی استفاده کنه...

مقداری کتابخانه معروف :
1_gtkmm
2_imgui
3_wxWidgets
4_GUI-lite
5_Elements
6_<Windows.h> !


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

از قابلیت های جالب:


1_استفاده کامل از لایبری های استاندارد سی پلاس
2_رایگان و اوپن سورس بودن
3_...

چون باهاش کار نکردم نمیتونم زیاد نظری در این مورد بدم مهم معرفی دیگه...(مهم نیته!)

_imgui
یک کتابخانه واقعا غنی و ساده برای استفاده و همچنین متن باز و رایگان برای تمام پلتفرم هاست که بسیار برای یادگیری اسونه
همچنین کد هاش به سادگی زده میشن خلاصه میگم خوب چیزیه...
به همین دلیله که حجم کد زنی شما کمتر میشه و از ویوژال استودیو هم میتونید استفاده کنید
.
مثال های زیادی از استفاده از این کتابخانه وجود داره میتونید با مراجعه به سایت گیت هاپ بقیه پروژه ها رو مشاهده کنید

به این لینک

tracy_profiler.thumb.png.b845a5a6c582995a94f4672955a6434b.png

 

از ویژگی های خوبش:


1_یادگیری سریع و اسون 
2_کار باهاش سریع و استفاده از اون کاربردیه
3_برنامه های اوپن سورس زیادی حتی توی گیت هاپ براش وجود داره
4_بسیار جالبه....


_wxWidgets
این هم مثل 2 تای قبل یک لایبری کامله که مثل دو تای قبلی که گفتم متن باز و رایگانه
خلاصه شو بگم متن بازه و استفاده از اون نه تنها در سی پلاس بلکه در پایتون پرل و روبی و سایر زبان های(پشتیبانی شده...)مقدره و خیلی کامله
...در هر صورت یک کتابخانه جالب برای کد نویسیه دیگه

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

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

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


------------------
~2-استفادذه از تول کیت ها
----
یکی از روش های پیش رو استفاده از تول کیت هاست.
تول کیت ها تمامی بعد های ساخت نرمفزار از دو بعدی و سه بعدی داخلشون جمع کردن و به صورت یک لایبری تحویل میدن که اهمیت تول کیت ها در بازی سازی و ساخت نرمفزار های بزرگ رو نشون میده
بسیار جالبه بدونید که در بعضی  موتور های بازی سازی از بعضی از این تول کیت ها استفاده شده
مزیت دردسترس بودن و همچنین در مواردی اوپن سورس بودن باعص ارزش پیدا کردن این روش شده

از مواردی که میتونم بهشون اشاره کنم:
1_FLTK(fast light toolkit)
2_FoxToolKit

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

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

موفق!

 

ویرایش شده توسط mortza
لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

--------------------------------------------------------------------------------

رابط کاربری گرافیکی در سی /سی پلاس

Qtنصب
----------------------------------------------------------------------------

در پست قبلی به طور کلی توضیحاتی دادیم 

. رو در سیستم عامل لینوکس  بررسی کنیم و یک برنامه گرفیکی ساده بسازیم و اجرا کنیم (QT) در اینجا قراره نصب کیوت

.پیش نیاز خاصی نمیخواد با 4 گیگ رم و یک سی پیو یه 2 هسته ایی و هر گرافیکی فرقی نمیکنه اجرا میشه

پس میریم سراغ نصبش

--------------------------------------

وارد این لینک بشین

:ابتدا نسخه مورد نظرتون که ما در اینجا میخوایم رو لینوکس(مثلا کالی...)نصب کنیم

0.thumb.PNG.c833c9c6cdabd33fe5d2a57a6de14df4.PNG

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

----------------------------------

: با صفحه زیر رو به رو میشین که  نکس رو بزنید 

1.PNG.ed1b1fbe5bcca4224005c19bf78de5fd.PNG

:خب وارد یک همچین چیزی میشین

2.PNG.fd7792c657fd93612718bf245e036462.PNG

.خب در اینجا باید مشخصات اکانت کیوت رو داشته باشیم

:شما نیاز دارین به یک اکانت اگر اکانت ندارین از سینگ اپ استفاده کنید و یک اکانت برای خودتون بسازین و گزینه با قوانین مواقفم که زیره بزنید و نکس(دقت کنید به نت متصل بشین...)

3.thumb.PNG.c8538f832d7e4eb728b24e972ada8747.PNG

...چند ثانیه بعد یک لینک به ایمیل شما فرستاده میشه شما اون رو باز کنید و  عدد لازم برای وریفای رو در قسمت مورد نظر وارد کنید تا وریفای شین

...این وریفای رایگانه

:بعد فرایند نصب شما با همچین صفحه ایی روبه رو میشین

5.thumb.PNG.e23086223b2bb9d2fb57c5d154e3ea2f.PNG

. خب کلی مثال از برنامه های ساخته شده از کیوت رو مشاهده میکنید...

.این بروزر افلاینه و شما روی هر کدوم بزنید به راحتی به کد ها و همچنین نکات و توضیحات نوشتن برنامه مطلع میشین این خیلی به پیشرفتون کمک میکنه

خب دیدین که کار ساده ایی بود نصبش اینم از اموزش تصویری نصبش

بریم سراغ اولین پروژه hello word

---------------------------------------------------------------------------------------

:وارد کیوت بشین و این گذینه رو زده تا یک پروژه درست کنیم

6.thumb.PNG.986b6409c2acea06ed03a4dc42f1be28.PNG

.با همچین محیطی رو به رو میشیم

7.thumb.PNG.33f63e8a6fd848b139d97d52a5dbb07e.PNG

.روی اولی کلید کنید تا اولین پروژه گرافیکی تون رو بسازین

Capture.thumb.PNG.ddbef9f8082bbf6d337348b63698f3d7.PNG

.خب اسم پروژه تون رو انتخاب و محل ذخیره اون رو تعیین کنید مثلا من رو دکستاپ کالیم گذاشتم

.در مرحله بعد کامپایلرتون رو انتخاب کنید 

.در مورد سومی باید گفت که جدید اومده و اونم خوبه

Capture.thumb.PNG.049d6e4037608d84e7e9afadc8bb065f.PNG

.خب روی نکس بزنید

.اسم پروژتون رو انتخاب کنید و بقیه رو مه بدون تغییر روی بعدی (نکس😅)خب با همچین محیط کد نویسی رو به رو میشیم

Capture.thumb.PNG.cfc5da9a4a7a27c4bff3a6274599981a.PNG

.اول روی ران کلیک کنید ببینیم چه اتفاقی میوفته

.خب میبینید که یک برنامه با صفحه سفید با اندازه 800 در 600 نشونمون داد

.خب بیایم با قابلیت دراپ و دراگ کردن یکم کار کنیم

Capture.thumb.PNG.35725648d3a11f8a8e92ac3ce82df6f4.PNG

 

.وارد بشین و این رو میبینید که دیگه لازم به توضیح نیست همه چی جلوتونه

Capture.thumb.PNG.0be3df94fc076e10b3c7f1308e3a3c79.PNG

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

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

!موفق

ویرایش شده توسط mortza
لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری
 اشتراک گذاری

انجمن تیم امنیتی گارد ایران

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

شرکت گاردایران

پردازشگران ایمن داده ي آدلان

شماره ثبت: 9438

شبکه های اجتماعی

 

نمادها

logo.aspx?id=56084&Code=ybjZVyBlXag5cNRv logo-samandehi

×
×
  • اضافه کردن...

اطلاعات مهم

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