آموزش Qt 5 C++ توسعه رابط کاربری گرافیکی - متوسط

Qt 5 C++ GUI Development - Intermediate

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: آموزش رابط کاربری گرافیکی C++ Qt Intermediate: رویدادها، نقاشی، معماری نمای مدل، چارچوب نمای گرافیکی، استقرار و موارد دیگر. برنامه‌نویسی رویداد ویجت‌های سفارشی نقاشی و طراحی کشیدن و رها کردن داده‌ها از طریق کلیپ‌بورد مدل‌نمای معماری گرافیک مشاهده چارچوب پیاده‌سازی ویژگی‌های کپی، برش و چسباندن در برنامه‌های Qt ذخیره و بارگیری اسناد واگرد Redo در برنامه‌های Qt ساخت موارد قابل تغییر اندازه در گرافیک مشاهده پشتیبانی از چند زبان در برنامه های Qt استقرار برنامه های Qt در ویندوز و لینوکس و مک ساخت بازی ها و برنامه های نقاشی با Qt پیش نیازها: دانش اولیه توسعه رابط کاربری گرافیکی Qt C++

نکته ویژه: این دوره بر اساس Qt 5 است. Qt 6 که در دسامبر 2020 منتشر شد آخرین نسخه است. ما روی به‌روزرسانی‌هایی کار می‌کنیم تا Qt 6 را در نظر بگیریم که طی چند ماه آینده تکمیل خواهد شد. در عین حال، توصیه می کنیم از Qt 5 برای بهترین تجربه در این دوره استفاده کنید.

Qt یک چارچوب توسعه برنامه کاربردی متقابل پلتفرم بالغ است که می‌توانید از آن برای توسعه برای Windows، Mac، Linux، Mobile و دستگاه‌های جاسازی شده استفاده کنید.

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

این دوره مملو از نکات و ترفندهای فراوانی است که به شما کمک می‌کند در ساختن برنامه‌های GUI حرفه‌ای با استفاده از C++ و Qt تسلط پیدا کنید. سخنرانی‌ها با دقت طراحی شده‌اند و حول دموهایی می‌چرخند که قابل درک هستند و به راحتی قابل درک هستند. کاهش چربی و کمک به درک موضوع مورد نظر.

این دوره فقط در مورد تئوری و دموهای ساده نیست. نه!

ما تئوری و دموهای ساده را انجام خواهیم داد زیرا برای درک اصول اولیه به آن نیاز دارید.

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

در اینجا برخی از مواردی وجود دارد که در این دوره به آنها مسلط خواهید شد:

  • برنامه نویسی رویداد در Qt

  • ساخت ابزارک های سفارشی

  • نقاشی و طراحی با Qt

  • کشیدن و رها کردن در ابزارک‌های Qt

  • ویژگی های پیشرفته در برنامه نویسی Qt Model View

  • چارچوب نمای گرافیکی

  • ویژگی‌های کپی، برش و جای‌گذاری در برنامه‌های رابط کاربری گرافیکی

  • ساخت موارد گرافیکی قابل تغییر اندازه

  • ذخیره و بارگیری اسناد در برنامه های Qt شما

  • واگرد انجام مجدد

  • ساخت مدل‌های درخت فقط خواندنی و قابل ویرایش از ابتدا

  • پشتیبانی از چندین زبان در برنامه‌های رابط کاربری گرافیکی Qt C++

  • استقرار برنامه‌های Qt خود در Windows، Mac و Linux و راه‌های دیگر...

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

این دوره با دقت طراحی شده است تا شما را به ساخت پروژه های مرحله به مرحله ترغیب کند و حتی مفاهیم پیچیده را به راحتی درک کند. اگر به دنبال ساخت برنامه‌های گرافیکی حرفه‌ای Qt C++ هستید، این دوره به شما کمک می‌کند در کوتاه‌ترین زمان ممکن به آنجا برسید.

Qt پلتفرم انتخابی برای هزاران پروژه نرم‌افزاری، هم منبع باز و هم تجاری، از جمله پروژه‌ای است که ما ویدیوهای خود را ضبط می‌کنیم. اگر می‌خواهید از ++C برای ساخت برنامه‌های رابط کاربری گرافیکی حرفه‌ای استفاده کنید که می‌توانند تقریباً روی هر پلتفرمی اجرا شوند، Qt از این نظر در رتبه دوم قرار دارد. لطفاً برخی از ویدیوهای پیش‌نمایش را بررسی کنید و اجازه دهید شروع به ساخت برنامه‌های حرفه‌ای C++ GUI با استفاده از Qt کنیم.


سرفصل ها و درس ها

معرفی Introduction

  • خوش آمدی Welcome

  • تیزر Teaser

مدیریت رویداد Event Handling

  • مروری بر رویدادها در Qt Overview of Events in Qt

  • رویدادهای نمایشی: بازی با رویدادها Events Demo : Playing with Events

  • حلقه رویداد، انتشار، و روش‌های رسیدگی به رویدادها: نظریه Event Loop, Propagation, and Methods To Handle Events : Theory

  • انتشار رویداد Event Propagation

  • مدیریت رویدادها: لغو QApplication::اطلاع رسانی Handle Events : Override QApplication::notify

  • رویدادها را کنترل کنید: QObject::event را لغو کنید Handle Events : Override QObject::event

  • رویدادها را مدیریت کنید: فیلتر رویداد در QApplication Handle Events : Event Filter On QApplication

  • مدیریت رویدادها: فیلتر رویداد در QObject Handle Events : Event Filter On QObject

  • منابع رویداد: ارسال و ارسال رویدادها - تئوری Event Sources : Posting and Sending Events - Theory

  • ارسال و ارسال رویدادهای خود: یک نسخه آزمایشی Posting and Sending your own Events : A Demo

  • مدیریت رویداد: نمای کلی بخش Event Handling : Section Overview

ابزارک های سفارشی Custom Widgets

  • نمای کلی ابزارک های سفارشی Custom Widgets Overview

  • نوشتن ابزارک Composing Widgets

  • تغییر ابزارک های موجود Modifying Existing Widgets

  • تغییر ابزارک های موجود: دکمه دوبار کلیک Modifying Existing Widgets : Double Clickable Button

  • ابزارک های سفارشی از ابتدا Custom Widgets From Scratch

  • تبلیغ ابزارک ها Promoting Widgets

  • در دسترس قرار دادن ویجت های سفارشی خود در Qt Creator(Designer) Making Your Custom Widgets Available in Qt Creator(Designer)

  • نمای کلی بخش Section Overview

نقاشی و طراحی Painting and Drawing

  • نمای کلی طراحی Drawing Overview

  • دستگاه های مختصات Coordinate Systems

  • طراحی روی Pixmaps Drawing on Pixmaps

  • رسم اشکال Drawing Shapes

  • QPen QPen

  • کیو براش QBrush

  • شیب برس Brush Gradients

  • PainterPath PainterPath

  • نقاش دگرگون می شود Painter Transforms

  • رسم نسخه ی نمایشی ماشین Draw Car Demo

  • Shape Maker Demo Part 1/2 Shape Maker Demo Part 1/2

  • Shape Maker Demo Part 2/2 Shape Maker Demo Part 2/2

  • PainterApp v1: مفاهیم PainterApp v1 : Concepts

  • PainterApp v1: تنظیم رابط کاربری PainterApp v1 : Setting Up User Interface

  • PainterApp نسخه 1: راه اندازی طراحی بوم PainterApp v1 : Setting Up Drawing Canvas

  • PainterApp v1 : Drawing Shapes PainterApp v1 : Drawing Shapes

  • بررسی بخش Section Review

کشیدن و رها کردن/کلیپ بورد Drag and Drop / Clipboard

  • کشیدن و رها کردن در ابزارک ها: نمای کلی فصل Drag and Drop in Widgets : Chapter Overview

  • کشیدن و رها کردن نمای کلی Drag and Drop Overview

  • کشیدن و رها کردن: نسخه ی نمایشی Drag and Drop : A Demo

  • کشیدن تصویر: نسخه ی نمایشی Dragging an Image : A Demo

  • کشیدن و رها کردن بین ابزارک ها: مفاهیم Dragging and Dropping Between Widgets : Concepts

  • کشیدن و رها کردن بین ابزارک ها: راه اندازی پروژه Dragging and Dropping Between Widgets : Project Setup

  • کشیدن و رها کردن بین ابزارک ها: شروع رویدادهای کشیدن Dragging and Dropping Between Widgets : Initiating Drag Events

  • کشیدن و رها کردن بین ابزارک ها: مدیریت رویدادهای رها کردن Dragging and Dropping Between Widgets : Handling Drop Events

  • زیر طبقه بندی MimeData: نسخه ی نمایشی Subclassing MimeData : A Demo

  • کار با کلیپ بورد: نسخه ی نمایشی Working with the Clipboard : A Demo

  • Clipboard Demo2: برنامه Painter با Clipboard Clipboard Demo2 : Painter App with Clipboard

  • کشیدن و رها کردن در ابزارک ها: بررسی فصل Drag and Drop in Widgets : Chapter Review

معماری مدل View Advanced Model View Architecture Advanced

  • معماری نمای مدل: نمای کلی فصل Model View Architecture : Chapter Overview

  • ابزارک های از پیش تعریف شده: QListWidget Predefined Widgets : QListWidget

  • ویجت های نمایش از پیش تعریف شده: TableWidget Predefined View Widgets : TableWidget

  • ویجت های نمایش از پیش تعریف شده: TreeWidget Predefined View Widgets :TreeWidget

  • مدل های از پیش تعریف شده: QFileSystemModel Predefined Models : QFileSystemModel

  • مدل های از پیش تعریف شده: StringListModel Predefined Models : StringListModel

  • مدل های از پیش تعریف شده: SortFilterProxyModel Predefined Models : SortFilterProxyModel

  • مدل های سفارشی: مدل فقط خواندنی Custom Models : Read Only Model

  • مدل‌های سفارشی: مدل قابل ویرایش با داده‌های هدر Custom Models : Editable Model With Header Data

  • مدل‌های سفارشی: افزودن و حذف ردیف‌ها از مدل قابل ویرایش Custom Models : Adding and Removing Rows from Editable Model

  • مدل های سفارشی: نقش های سفارشی Custom Models : Custom Roles

  • مدل های سفارشی: مدل جدول Custom Models : Table Model

  • مدل های سفارشی: نمایندگان Custom Models : Delegates

  • مدل‌های سفارشی: واگذاری نقاشی سفارشی Custom Models : Delegate Custom Painting

  • مدل های سفارشی: نماینده ستاره سفارشی Custom Models : Custom Star Delegate

  • چالش: نمایندگان Challenge : Delegates

  • کشیدن و رها کردن در مدل های سفارشی: تئوری Drag and Drop In Custom Models : Theory

  • ابزارک‌های راحتی را بکشید و رها کنید Drag and Drop in Convenience Widgets

  • کشیدن و رها کردن در سطح مورد Drag and Drop at Item Level

  • کشیدن و رها کردن در مدل های سفارشی Drag and Drop in Custom Models

  • مدل درختی فقط خواندنی سفارشی - نمای کلی Custom Full Read Only Tree Model - Overview

  • مدل درختی فقط خواندنی سفارشی - خواندن داده ها از فایل Custom Full Read Only Tree Model - Reading Data From File

  • مدل درختی سفارشی فقط خواندنی - مدل شخص، داده‌های بسته بندی Custom Full Read Only Tree Model - Person Model, Wrapping Data

  • مدل درخت قابل ویرایش کامل سفارشی: نمای کلی Custom Full Editable Tree Model : Overview

  • مدل درخت قابل ویرایش کامل سفارشی: شخص Custom Full Editable Tree Model : Person

  • مدل درخت قابل ویرایش کامل سفارشی: PersonModel Custom Full Editable Tree Model : PersonModel

  • مدل درختی کامل قابل ویرایش سفارشی: رابط کاربری Custom Full Editable Tree Model : User Interface

  • معماری نمای مدل: نمای کلی فصل Model View Architecture : Chapter Overview

  • معماری نمای مدل: نمای کلی فصل Model View Architecture : Chapter Overview

چارچوب نمای گرافیکی Graphics View Framework

  • چارچوب نمای گرافیکی: نمای کلی فصل Graphics View Framework : Chapter Overview

  • شروع به کار: اضافه کردن موارد Getting Started : Adding Items

  • شروع: رویدادهای کلیدی و اندازه صحنه Getting Started : Key Events and Scene Size

  • شروع به کار: سیستم های مختصات Getting Started : Coordinate Systems

  • انتشار رویداد Event Propagation

  • انتشار رویداد Event Propagation

  • رابطه والد فرزند Parent Child Relationship

  • اقلام نقاشی Drawing Items

  • کار با انتخاب ها Working with Selections

  • کار با Transforms Working with Transforms

  • کار با مناطق انتخابی: راه اندازی Working with Selection Areas : Set Up

  • کار با مناطق انتخابی: ترسیم پیش زمینه، ترسیم پس زمینه Working with Selection Areas : Draw Foreground , Draw Background

  • کار با مناطق انتخابی: بزرگنمایی، بازنشانی و تناسب در نمای Working with Selection Areas : Zooming, Reset and Fit in View

  • ساخت اقلام قابل تغییر اندازه: تئوری Building Resizable Items : Theory

  • موارد قابل تغییر اندازه: آیتم مستطیلی قابل تغییر اندازه خام Resizable Items : Raw Resizable Rectangle Item

  • موارد قابل تغییر اندازه: Pixmap و آیتم ستاره خام قابل تغییر اندازه Resizable Items : Raw Resizable Pixmap and Star Item

  • موارد قابل تغییر اندازه: رابط رسمی Resizable Items : Formal Interface

  • GraphicsScene: رندر صحنه به تصویر GraphicsScene : Render Scene To Image

  • ویجت های مسکن در صحنه گرافیکی Housing WIdgets in Graphics Scene

  • کشیدن و رها کردن: ShapeListWidget Drag And Drop : ShapeListWidget

  • بکشید و رها کنید: ColorListWidget Drag and Drop : ColorListWidget

  • کشیدن و رها کردن: رها کردن در صحنه Drag and Drop : Drop in Scene

  • کشیدن و رها کردن: رها کردن روی GraphicsItem Drag and Drop : Drop on GraphicsItem

  • پروژه تمرین: بازی Flappy Bird، راه اندازی پروژه Practice Project : Flappy Bird Game , Project Setup

  • بازی Flappy Bird: PillarItem Flappy Bird Game : PillarItem

  • بازی Flappy Bird: BirdItem Flappy Bird Game : BirdItem

  • بازی Flappy Bird: Make Bird Fly Up Flappy Bird Game :Make Bird Fly Up

  • بازی Flappy Bird: تشخیص برخورد Flappy Bird Game :Collision Detection

  • پروژه تمرین: PainterApp، راه اندازی پروژه Practice Project : PainterApp , Project Setup

  • PainterApp: Pen Strokes PainterApp : Pen Strokes

  • PainterApp: پاک کن PainterApp : Eraser

  • PainterApp: اشکال هندسی PainterApp : Geometric Shapes

  • PainterApp: حذف کلید و بارگذاری تصویر PainterApp : Delete Key and Load Image

  • PainterApp: انتخاب نوار لاستیکی PainterApp : Rubber Band Selection

  • GraphicsView Framework: بررسی فصل GraphicsView Framework : Chapter Review

متفرقه: تنظیم برنامه Painter مانند یک برنامه واقعی Miscellaneous : Tuning Painter App Features like a real App

  • بررسی اجمالی فصل Chapter Overview

  • پاکسازی رابط کاربری: راه اندازی پروژه User Interface Clean Up : Project setup

  • خواص قلم: رنگ قلم Pen Properties : Pen Color

  • ویژگی های قلم: سبک و عرض قلم Pen Properties : Pen Style and Width

  • ویژگی های قلم: انتخابگر رنگ Pen Properties : Color Picker

  • پاکسازی رابط کاربری: ویژگی های براش User Interface Clean Up : Brush Properties

  • پاکسازی رابط کاربری: ویژگی های بوم User Interface Clean Up : Canvas Properties

  • نشانگر ابزار Tool Cursors

  • Copy , Cut Paste : نمای کلی Copy , Cut Paste : Overview

  • Copy , Cut Paste : Overriding Read(>>) and Write(<<) Operator Methods for Items Copy , Cut Paste : Overriding Read(>>) and Write(<<) Operator Methods for Items

  • Copy, Cut Paste: ساختن کلاس StrokeItem Copy , Cut Paste : Building the StrokeItem class

  • Copy, Cut Paste: Datastream Read and Write Methods Copy , Cut Paste : Datastream Read and Write Methods

  • کپی، برش چسباندن: نهایی کردن ویژگی Copy , Cut Paste : Finalizing the Feature

  • کپی، برش چسباندن: رفع موقعیت StrokeItem Copy , Cut Paste : Fix StrokeItem position

  • ذخیره و بارگیری اسناد Saving and Loading Documents

  • لغو مجدد: نمای کلی Undo Redo : Overview

  • Undo Redo:AddCommand Undo Redo :AddCommand

  • لغو مجدد: RemoveCommand Undo Redo : RemoveCommand

  • لغو مجدد: MoveCommand Undo Redo : MoveCommand

  • Undo Redo را برای Strokes طراحی شده با ابزار Pen اضافه کنید Add Undo Redo For Strokes drawn with the Pen Tool

  • صافی را برطرف کنید Fix Smoothness

بین المللی شدن Internationalization

  • بررسی اجمالی بین المللی سازی Internationalization Overview

  • راه اندازی پروژه، رشته ها را آماده کنید Project Setup, Prepare Strings

  • تولید فایل های TS Generating TS Files

  • ترجمه در Qt Languist Translating in Qt Languist

  • ایجاد فایل های QM Creating QM Files

  • با استفاده از QTranslator Using QTranslator

  • بارگیری ترجمه های رسمی Qt Loading official Qt Translations

  • ذخیره انتخاب ترجمه کاربر Saving User Translation Choice

آیکون های برنامه Application Icons

  • آیکون های برنامه Application Icons

گسترش Deployment

  • نمای کلی استقرار Deployment Overview

  • استقرار در ویندوز: بارگذاری وابستگی دستی Deployment on Windows : Manual Dependency Loading

  • استقرار در ویندوز: windeployqt Deployment on Windows : windeployqt

  • استقرار در ویندوز: Qt Installer Framework Deployment on Windows : Qt Installer Framework

  • استقرار در لینوکس: linuxdeployqt Deployment on Linux : linuxdeployqt

  • استقرار در لینوکس: Qt Installer Framework Deployment on Linux : Qt Installer Framework

  • استقرار در سیستم عامل مک Deployment on Mac OS

مراحل بعدی Next Steps

  • مراحل بعدی Next Steps

نمایش نظرات

آموزش Qt 5 C++ توسعه رابط کاربری گرافیکی - متوسط
جزییات دوره
40 hours
149
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
3,562
4.6 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Daniel Gakwaya Daniel Gakwaya

مهندس نرم افزار در Blikoon Technologies