آموزش برنامهنویسی رابط کاربری گرافیکی Qt و سی پلاس پلاس برای برنامههای گرافیکی ۲ بعدی
-
زیرنویس فارسی و انگلیسی
- زندگی فعال
- 32 اپیزود
- 3 ساعت و 11 دقیقه
- سطح مقدماتی
در این دوره چه چیز هایی می آموزید؟
اپیزودها
این سخنرانی یک معرفی کلی از این دوره به شما ارائه میدهد و به سوالات زیر پاسخ میدهد: این دوره درباره چه موضوعی است؟مدرس شما کیست و سابقه او چیست؟آیا این دوره برای شما مناسب است؟قبل از شروع این دوره به چه اطلاعاتی نیاز دارید؟
دمو (نمایش) برنامهای که شما مرحله به مرحله در بخش ۱ این دوره خواهید ساخت.
این دوره نیاز به نصب فریمورک Qt دارد. این درس راهنمای گام به گام برای دانلود و تنظیم Qt SDK به عنوان پیشنیاز برای ایجاد اولین پروژه است.
گیت یک سیستم کنترل نسخه سریع است. شما از آن برای ذخیرهسازی تغییرات کد موقت خود استفاده خواهید کرد. این سیستم شامل مجموعهای از ابزارهای خط فرمان است که به شما کمک میکند تا سوابق تمام تغییرات مهم پروژهتان را نگه دارید. این درس یک راهنمای نصب مرحله به مرحله برای گیت است.
شما برنامه SourceTree را نصب خواهید کرد، که ابزاری است که با GIT یکپارچه شده و به شما این امکان را میدهد که کد منبع خود را با استفاده از یک رابط کاربری گرافیکی کنترل نسخه کنید. آن را به عنوان یک لایه رابط کاربری بالای دستورات GIT در نظر بگیرید. (لینک دانلود و گزینههای جانبی Git GUI را در منابع خارجی بررسی کنید)
بیت باکت یک سرویس آنلاین است که به شما این امکان را میدهد که مخازن نامحدودی، چه خصوصی و چه عمومی، ایجاد کنید تا کد منبع و تغییرات واسط خود را بهصورت آنلاین ذخیره کنید. در این جلسه شما حساب کاربری رایگان خود را ایجاد خواهید کرد.
این سخنرانی در مورد انجام مقدمات پروژه است: آمادهسازی یک پوشه محلی برای نگهداری فایلهای پروژهایجاد برنامه ویجتهای Qt با استفاده از Qt Creatorمروری بر کد اولیه تولید شده در هنگام ایجاد پروژه پاکسازی رابط کاربری، ساخت و اجرای اولیه شامل برگه تقلب QtCreator - میانبرهای مفید استفاده شده در طول این دوره.
ما اولین کمیت خود را با استفاده از GIT ایجاد خواهیم کرد. سپس یک مخزن آنلاین BitBucket برای نگهداری پروندههای پروژه تازه ایجاد شدهمان ایجاد خواهیم کرد. سپس از SourceTree استفاده خواهیم کرد تا کمیت اولیه را به مخزن آنلاینمان ارسال کنیم. کمیت اول کمی متفاوت از بقیه است، اما این مراحل فقط یک بار باید انجام شود.
این سخنرانی درباره ایجاد و راهاندازی یک منطقه نقاشی سفارشی است. اضافه کردن یک کلاس RenderArea جدیدارتقاء یک QWidget به RenderAreaبازنویسی توابع کلاس پایه QWidgetنقاشی پسزمینه به رنگ آبی برای اطمینان از اینکه همه چیز به درستی کار میکند
این سخنرانی درباره آگاه کردن برنامه از اشکالی است که قرار است رسم کنیم: اضافه کردن پشتیبانی برای انواع مختلف اشکالاضافه کردن دکمهها به رابط کاربری برای هر شکل اضافه کردن مدیریتکنندههای کلیک برای فشار دادن دکمههااضافه کردن توابع getter و setter برای رنگ بکگراندرنگآمیزی بکگراند با رنگهای مختلف با هر بار فشار دادن دکمه
برنامه باید بداند کدام شکل فعال است: اضافه کردن توابع گیرنده / تنظیم کننده برای شکل فعالبازنگری در نامهای نوع شکل نوشتن یک عبارت switch در رویداد نقاشی
این سخنرانی درباره ترسیم اولین شکل ما است! این شکل به نام آستروید نامیده میشود و شبیه یک ستاره خمیده ۴ پر است. توضیح کوتاهی درباره ریاضیات پشت این شکل (ساده!)پیادهسازی الگوریتم ابتدایی ترسیم شکل عمومی (فقط نقاط برای حالا)اضافه کردن یک تابع برای محاسبه معادله آسترویدمقیاسدهی و ترجمه آستروید به مرکز ناحیه رندر
این سخنرانی یک مرحله اولیه برای آمادهسازی اپلیکیشن جهت مدیریت همه نوع شکل به صورت پویا است: ارتقاء متغیرهای محلی به وضعیت عضو کلاس بهروزرسانی رویداد نقاشی سفارشی برای استفاده از متغیرهای عضو کلاس اضافه کردن یک تابع کلاس برای بهروزرسانی متغیرهای کنترل شکل بر اساس نوع شکل فعال
این سخنرانی یک مرحله دیگر از آمادهسازی برای نقاشی شکلهای پویا است (این آخرین مورد است، قول میدهم) ما یک تابع توزیعکننده اضافه میکنیم که الگوریتم محاسبه شکل را بر اساس نوع شکل فعال، به توابع پارامتری مناسب هدایت میکند.
بالاخره! با همه چیز در جای خود، ما اکنون در حال پیادهسازی هر تابع محاسباتی و نقاشی تمام اشکال باقیمانده هستیم. بهروزرسانی مقادیر کنترل شکل برای استروئید، سیکلویید، هایپو سیکلویید و سیکلویید هویگن
برای اثبات اینکه چارچوبی که توسعه دادهایم پویا است، قصد داریم از آن استفاده کنیم و یک خط ساده به عرض 50 پیکسل بکشیم، با استفاده از معادلات پارامتریک.
وقتی فقط از نقاط برای ترسیم اشکال استفاده میکنیم، اشکال به خوبی به نظر نمیرسند. بیایید نقاط را به هم متصل کنیم و به اشکال ظاهری تازه بدهیم. ما قصد داریم الگوریتم نقاشی را بهروزرسانی کنیم و همه اشکال بهروزرسانی خواهند شد.
ما یک کامپوننت اسپیندری را به پنجره اصلی اضافه میکنیم تا آرگومان مقیاس برای آستروید را در زمان اجرا بهروزرسانی کنیم.
ما یک عملکرد جدید به کلاس ناحیه رندر اضافه میکنیم. این عملکرد هر بار که یکی از ۳ مقدار کنترل شکل بهروزرسانی میشود، فراخوانی خواهد شد.
ما آخرین کنترل اسپینر شکل را اضافه میکنیم که تعداد نقاط تقریبی (stepCount) را بهروزرسانی میکند. همچنین تغییرات مربوط به سه درس اخیر را ثبت میکنیم.
این جلسه درباره تغییر رنگ پسزمینه و رنگ شکل فعال است. ما: یک دکمه برای هر رنگی که میخواهیم تغییر دهیم اضافه میکنیم از یک انتخابگر رنگ Qt از پیش تعریف شده استفاده میکنیم رنگ انتخابشده را به الگوریتم نقاشی متصل میکنیم
در این سخنرانی ما یک اشکال در الگوریتم نقاشی را برطرف میکنیم.وقتی تعداد مراحل واقعاً کم است، شکل به طور کامل کشیده نمیشود و یک خط کم دارد.
ما با استفاده از QPen، عرض خط و همچنین رنگ شکلها را تنظیم میکنیم تا اشکال را بیشتر قابل مشاهده کنیم.
یاد بگیرید چگونه یک شکل شبیه به ابر بکشید.
ما از کد شکل شبیه به ابر برای کشیدن یک شکل ابر معکوس دوباره استفاده میکنیم.
مقدمهای بر اشکالزدایی با Qt Creator. کار با نقطههای توقف (breakpoints). مرور نمای اشکالزدایی (لیست نظارت، پشته فراخوانی، لیست نقطههای توقف).
یاد بگیرید که چگونه از دستورات قدم به جلو، قدم به داخل، قدم به عقب، ادامه و اجرای کد به خط برای اشکالزدایی کد منبع خود استفاده کنید.
اکشن های دوره
توضیحات دوره
این دوره به شما کمک میکند تا مهارتهای توسعه نرمافزار++ خود را امروز ارتقا دهید!
شما خواهید آموخت که چگونه یک برنامه را از پایه با استفاده از Qt و C++ بسازید.
از آنجایی که من تمام وجودم را برای تولید این دوره گذاشتهام، میفهمم که دیگر با پلتفرم Qt بهروز نیست.
اما هنوز هم دیدگاههای ارزشمندی در طراحی برنامههای قوی دارد، بنابراین معتقدم که در اینجا موارد مفیدی پیدا خواهید کرد.
نظرات دیگران در مورد این دوره:
"دوره عالی است. دستورالعملها واضح و دقیق هستند. دن به طور منطقی آموزش میدهد که چگونه یک اپلیکیشن را از سادهترین بخشها تا بخشهای سختتر بسازید. وظایف شما هر بار کمی بزرگتر میشوند و شما بین دستورالعملها و وظایف گم نمیشوید زیرا آنها به یکدیگر مرتبط هستند (برخلاف بسیاری از دورههای دیگر). اگرچه برای من این دوره سخت نبود، اما مفید بود و من خیلی از آن لذت بردم. پس از اتمام دوره متوجه شدم که ویدیوها و وظایف جدیدی وجود دارد! این فوقالعاده است! من خوشحالم که این دوره بهبود مییابد!" - کاترینا بریلیانتوا
"یکی از بهترین دورههایی که تا به حال داشتم. بسیار خوب ساختار یافته، ساختار برنامه بسیار خوب و پیچیدگی اپلیکیشن. توضیحات باید مثال خوبی برای بسیاری از معلمان دیگر باشد. یک سهگانه واقعی و بزرگ. ممنونم، دن." - ماتیاس کُنکا
"به خوبی طراحی شده و با پیوستگی مناسب، من نکات جالب زیادی در مورد کد قوی یاد گرفتم." - اسد راجا
"احساس میکنم این یک دوره بسیار خوب برای برنامهنویسان میانرده C++ بود. بخشهایی وجود دارد که برای مبتدیان آسان است، اما همچنین موارد زیادی برای برنامهنویس باتجربه دارد." - جینو مانيفرد
++C یک زبان برنامهنویسی بسیار قدرتمند و چندمنظوره است.
Qt یک فریمورک چندسکویی است، انتخابی عالی برای توسعه رابط کاربری با++C به صورت متنباز.
قبل از سرمایهگذاری در این دوره، لطفاً ویدیوهای رایگان (۳۰ دقیقه) را تماشا کنید تا:
-
عملکرد نهایی برنامه را ببینید (چک کنید
(درس نهایی دموی برنامه)
-
تصمیم بگیرید که آیا این دوره واقعاً مناسب شماست یا نه
با این دوره، شما برنامه خود را برای پلتفرم ویندوز به زبان ++C طراحی و ایجاد خواهید کرد.
شما ویژگیهای جدیدی به برنامه اضافه خواهید کرد، قدم به قدم.
شما یاد خواهید گرفت که چگونه کد منبع خوب و در سطح حرفهای بنویسید.
شما میتوانید برنامهنویسی به زبان ++C را از هر کسی که میخواهید یاد بگیرید، معلمان زیادی وجود دارند و اطلاعات رایگان بسیاری در دسترس است.
اما اگر میخواهید مانند یک حرفهای کد بنویسید، این نصیحت من به شماست:
-
انتخاب کنید که از کسی یاد بگیرید که قبلاً کدنویسی در سطح حرفهای انجام داده است.
-
یک معلم انتخاب کنید که دارای سابقه کار اثبات شده با ++C و Qt باشد
-
یک مربی انتخاب کنید که سالها این کار را انجام داده است و میداند چه چیزی برای ایجاد نرمافزار در سطح صنعتی لازم است.
ساختار این دوره به این صورت است. هر درس زیرساخت درس بعدی را آماده میکند. شما:
-
کد بنویسید در ++C (استاندارد '03)
-
از عناصر UI کیت ابزار Qt برای ایجاد رابط گرافیکی کاربر (GUI) استفاده کنید.
-
پنجره اصلی برنامه را تنظیم کنید.
-
عناصر مورد نیاز رابط کاربری (دکمهها، ویجتها، برچسبها، اسپینرها و ...) را روی پنجره اصلی بکشید و رها کنید.
-
عناصر UI را به رویدادهای UI (کلیکهای ماوس، تغییر مقدار) متصل کنید.
-
کد مدیریت رویداد سفارشی بنویسید که گرافیک نقاشیشده را بهروز کند.
شما نیاز دارید که درک خوبی از اصول برنامهنویسی شیءگرا (OOP) داشته باشید، زیرا شما در حال افزودن و کار با:
-
class member variables
-
class member functions
-
setters / getters
-
private / public / protected access modifiers
-
encapsulation برای حفاظت از دادهها
-
constructors و destructors
- بازنویسی توابع کلاس پایه مجازی برای Qt objects
-
اشارهگرها به objects
شما C++ را سازماندهی خواهید کرد
منطق برنامه را به فایلهای منبع هدر (.h) و پیادهسازی (.cpp) تبدیل کنید. شما یک رابط کاربری گرافیکی ساده (GUI) با استفاده از QtCreator (بخشی از ابزار Qt) طراحی خواهید کرد و از مکانیزم سیگنالها و اسلاتها استفاده خواهید کرد تا دکمهها (و سایر عناصر رابط کاربری) به کلیکهای ماوس یا رویدادهای تغییر مقدار پاسخ دهند.
شما یک ناحیه رندر سفارشی ایجاد خواهید کرد که به طور بینقصی با فریمورک Qt5 یکپارچه میشود، با ارثبری از کلاس پایه QWidget و بازنویسی متدهای کلاس انتزاعی.
شما یاد خواهید گرفت که چگونه خطاهای compiler را اصلاح کنید که ممکن است در طول توسعه به وجود آید. شما همچنین یاد خواهید گرفت که خطاهای لینککننده را اصلاح کنید که ناشی از عدم وجود پیادهسازیهای تابع است.
شما از یک رویکرد پایین به بالا برای توسعه نرمافزار پایدار استفاده خواهید کرد. به کلمه کلیدی اینجا توجه کنید - پایدار.
این به معنای کد++C در سطح حرفهای است. شما یاد خواهید گرفت که برنامههای قابل استفاده مجدد طراحی کنید و برنامهها به گونهای طراحی خواهند شد که قابلیت استفاده مجدد مد نظر قرار گیرد. همچنین با قابلیتهای ارتقاء در آینده نوشته خواهند شد. شما همچنین از ریاضی و هندسه به روشی غیرمنتظره استفاده خواهید کرد تا اشکال گرافیکی 2D غیرمعمول ایجاد کنید. شما همچنین با انجام تکالیف دورهای تجربه عملی خواهید داشت. تکالیف به گونهای طراحی شدهاند که شما را با کد راحت کنند و به شما آموزش دهند که چگونه برنامه را خودتان گسترش دهید، بعد از اینکه دوره را به پایان رساندید. آیا باید ادامه دهم یا میخواهید حالا یادگیری را شروع کنید؟ من حدود 10 سال را صرف یادگیری توسعه نرمافزار کردهام و 7 سال در صنعت فناوری اطلاعات کار کردهام. خوب، اینجا چند چیز دیگر که میتوانید از آن دریافت کنید:
-
چگونه یک مخزن آنلاین ایجاد کنید (با BitBucket)
-
چگونه از کنترل نسخه منبع (با GIT) برای ذخیره تغییرات میانی کد استفاده کنید و در هر زمان که اشتباه کردید به آنها برگردید
-
نکات و ترفندها برای کدنویسی خوب
پس بیایید شروع کنیم به ایجاد برخی گرافیکهای 2D با برنامهنویسی GUI با Qt5 و ++C !
✅ این دوره برای چه کسانی مناسب است؟
- شما درک کاملی از نحو ++C دارید.
- شما می خواهید توسعه برنامه های ++C را با Qt بیاموزید.
- ترجیحاً یک برنامه نویس متوسط یا علاقه مند به برنامه نویسی باشید.
- شما می خواهید یاد بگیرید که چگونه از ابتدا نرم افزار طراحی و ایجاد کنید.
- شما عاشق توسعه نرم افزار هستید (مخصوصا با++C)
- شما می خواهید تجربه کدنویسی عملی داشته باشید.
- شما یک گرافیک دو بعدی آماتور یا پرشور هستید.
✅ این دوره چه پیشنیازهایی دارد؟
- (الزاما) دانش کار در نحو و اصول زبان ++C
- (الزاما) اصول اولیه OOP (برنامه نویسی شی گرا) با ++C را بدانید.
- (ترجیحا) درک عبارات و توابع پایه ریاضی (سینوس، کسینوس، نمایی)
- نحوه ایجاد فایل های منبع ++C را بدانید.
- با استفاده از فناوری های open source احساس راحتی کنید.
دانشجویان دیگر خریده اند
- 13 اپیزود
- 1 ساعت و 6 دقیقه
- سطح مقدماتی
- 1 اپیزود
- 37 دقیقه
- سطح مقدماتی
- 1 اپیزود
- 23 دقیقه
- 25 اپیزود
- 1 ساعت و 18 دقیقه
- سطح مقدماتی
- 10 جلسه
- 15 ساعت
- سطح مقدماتی
- 67 اپیزود
- 12 ساعت و 18 دقیقه
استاد دوره
کامنت ها
هشتگ ها
-
32 اپیزود در مجموع 3 ساعت و 11 دقیقه
-
0 دانشجو
-
قابل پخش در همه ساعات شبانه روز
-
قابل استفاده روی تلفن همراه و رایانه
-
گواهینامه پایان دوره ماراد
کامنت شما با موفقیت ارسال شد
ثبت گزارش دوره
برای ارسال گزارش میبایست ابتدا وارد شوید
گزارش شما با موفقیت ارسال شد
ورود / ثبت نام
برای فالو کردن استاد ابتدا وارد شوید
ثبت نام در دوره
برای مشاهده این اپیزود باید در دوره ثبت نام کنید.