Qt 5 C GUI Development Intermediate

Learn Intermediate Qt C++ GUI : Events, Painting, Model View Architecture, Graphics View Framework, Deployment and more.
Qt 5 C GUI Development Intermediate
File Size :
43.59 GB
Total length :
39h 50m



Daniel Gakwaya


Last update




Qt 5 C GUI Development Intermediate

What you’ll learn

Event Programming
Custom Widgets
Painting and Drawing
Drag and Drop
Copying data through the clipboard
Model View Architecture
Graphics View Framework
Implementing Copy, Cut and Paste Features in Qt Apps
Saving and Loading Documents
Undo Redo in Qt Apps
Building Resizable Items in Graphics View
Multi Language Support in Qt Apps
Deploying Qt applications on Windows and Linux and Mac
Building Games and Painting Applications with Qt

Qt 5 C GUI Development Intermediate


Basic Knowledge of Qt C++ GUI Development


Special note : This course is based on Qt 5. Qt 6, released in December 2020 is the latest version. We are working on updates to take  Qt 6 into account that will be completed over the next couple of months. In the mean time, we recommend using Qt 5 for the best experience with the course.Qt is a mature cross platform application development framework you can use to develop for Windows, Mac ,Linux, Mobile and Embedded Devices.This course will teach you some of the advanced features of the Qt framework. This  is not a beginners course.  It is a follow up course on our Qt 5 C++ GUI Development for Beginners course, so you should have completed that course or have similar experience from elsewhere. The course is packed with lots of tips and tricks, to help you master what it takes to build professional GUI applications using C++ and Qt.  The lectures are carefully designed and revolving around demos that are to the point and easy to understand. Cutting down the fat and helping you understand a given topic at hand.This course is is not just about theory and simple demos. No !We will do theory and simple demos because you need that to understand the basics. But we will go even further and not build  full fledged practical projects for you to put together and practice all the knowledge in the course. You will build a clone of the Flappy Bird game and a full fledged painting application that supports tons of cool features like drawing with the pen, erasing , re-sizable shapes, copy, cut and paste, drag and drop , undo redo , saving and loading documents and many more features.Here are some of things you’ll get to master in the course : Event Programming in QtBuilding Custom WidgetsPainting and Drawing with QtDrag and Drop in Qt WidgetsAdvanced Features in Qt Model View ProgrammingGraphics View FrameworkCopy, Cut and Paste Features in GUI applicationsBuilding Resizable Graphics Items Saving and Loading Documents in your Qt applicationsUndo RedoBuilding read only and editable tree models from scratch Supporting multiple languages in your Qt C++ GUI applicationsDeploying your Qt applications on Windows, Mac and Linux and way way more…Towards the end we will build a complete Graphics View based Painting application and a clone of the popular Flappy Bird game for you to put together and use all the knowledge in the course on real projects.The course was carefully designed to get you to build projects step by step, making even complex concepts easy to understand. If you’re looking to build professional grade Qt C++ GUI applications, then this course will help you get there in the shortest amount of time possible.Qt is the platform of choice for thousands of software projects, both open source and commercial, including the one we to record our videos. If you want to use C++  to build professional grade GUI applications, that can run virtually on any platform out there, Qt is second to none in that regard. Please check out some of the preview videos and let’s get you started building professional C++ GUI applications using Qt.


Section 1: Introduction

Lecture 1 Welcome

Lecture 2 Teaser

Section 2: Event Handling

Lecture 3 Overview of Events in Qt

Lecture 4 Events Demo : Playing with Events

Lecture 5 Event Loop, Propagation, and Methods To Handle Events : Theory

Lecture 6 Event Propagation

Lecture 7 Handle Events : Override QApplication::notify

Lecture 8 Handle Events : Override QObject::event

Lecture 9 Handle Events : Event Filter On QApplication

Lecture 10 Handle Events : Event Filter On QObject

Lecture 11 Event Sources : Posting and Sending Events – Theory

Lecture 12 Posting and Sending your own Events : A Demo

Lecture 13 Event Handling : Section Overview

Section 3: Custom Widgets

Lecture 14 Custom Widgets Overview

Lecture 15 Composing Widgets

Lecture 16 Modifying Existing Widgets

Lecture 17 Modifying Existing Widgets : Double Clickable Button

Lecture 18 Custom Widgets From Scratch

Lecture 19 Promoting Widgets

Lecture 20 Making Your Custom Widgets Available in Qt Creator(Designer)

Lecture 21 Section Overview

Section 4: Painting and Drawing

Lecture 22 Drawing Overview

Lecture 23 Coordinate Systems

Lecture 24 Drawing on Pixmaps

Lecture 25 Drawing Shapes

Lecture 26 QPen

Lecture 27 QBrush

Lecture 28 Brush Gradients

Lecture 29 PainterPath

Lecture 30 Painter Transforms

Lecture 31 Draw Car Demo

Lecture 32 Shape Maker Demo Part 1/2

Lecture 33 Shape Maker Demo Part 2/2

Lecture 34 PainterApp v1 : Concepts

Lecture 35 PainterApp v1 : Setting Up User Interface

Lecture 36 PainterApp v1 : Setting Up Drawing Canvas

Lecture 37 PainterApp v1 : Drawing Shapes

Lecture 38 Section Review

Section 5: Drag and Drop / Clipboard

Lecture 39 Drag and Drop in Widgets : Chapter Overview

Lecture 40 Drag and Drop Overview

Lecture 41 Drag and Drop : A Demo

Lecture 42 Dragging an Image : A Demo

Lecture 43 Dragging and Dropping Between Widgets : Concepts

Lecture 44 Dragging and Dropping Between Widgets : Project Setup

Lecture 45 Dragging and Dropping Between Widgets : Initiating Drag Events

Lecture 46 Dragging and Dropping Between Widgets : Handling Drop Events

Lecture 47 Subclassing MimeData : A Demo

Lecture 48 Working with the Clipboard : A Demo

Lecture 49 Clipboard Demo2 : Painter App with Clipboard

Lecture 50 Drag and Drop in Widgets : Chapter Review

Section 6: Model View Architecture Advanced

Lecture 51 Model View Architecture : Chapter Overview

Lecture 52 Predefined Widgets : QListWidget

Lecture 53 Predefined View Widgets : TableWidget

Lecture 54 Predefined View Widgets :TreeWidget

Lecture 55 Predefined Models : QFileSystemModel

Lecture 56 Predefined Models : StringListModel

Lecture 57 Predefined Models : SortFilterProxyModel

Lecture 58 Custom Models : Read Only Model

Lecture 59 Custom Models : Editable Model With Header Data

Lecture 60 Custom Models : Adding and Removing Rows from Editable Model

Lecture 61 Custom Models : Custom Roles

Lecture 62 Custom Models : Table Model

Lecture 63 Custom Models : Delegates

Lecture 64 Custom Models : Delegate Custom Painting

Lecture 65 Custom Models : Custom Star Delegate

Lecture 66 Challenge : Delegates

Lecture 67 Drag and Drop In Custom Models : Theory

Lecture 68 Drag and Drop in Convenience Widgets

Lecture 69 Drag and Drop at Item Level

Lecture 70 Drag and Drop in Custom Models

Lecture 71 Custom Full Read Only Tree Model – Overview

Lecture 72 Custom Full Read Only Tree Model – Reading Data From File

Lecture 73 Custom Full Read Only Tree Model – Person Model, Wrapping Data

Lecture 74 Custom Full Editable Tree Model : Overview

Lecture 75 Custom Full Editable Tree Model : Person

Lecture 76 Custom Full Editable Tree Model : PersonModel

Lecture 77 Custom Full Editable Tree Model : User Interface

Lecture 78 Model View Architecture : Chapter Overview

Section 7: Graphics View Framework

Lecture 79 Graphics View Framework : Chapter Overview

Lecture 80 Getting Started : Adding Items

Lecture 81 Getting Started : Key Events and Scene Size

Lecture 82 Getting Started : Coordinate Systems

Lecture 83 Event Propagation

Lecture 84 Parent Child Relationship

Lecture 85 Drawing Items

Lecture 86 Working with Selections

Lecture 87 Working with Transforms

Lecture 88 Working with Selection Areas : Set Up

Lecture 89 Working with Selection Areas : Draw Foreground , Draw Background

Lecture 90 Working with Selection Areas : Zooming, Reset and Fit in View

Lecture 91 Building Resizable Items : Theory

Lecture 92 Resizable Items : Raw Resizable Rectangle Item

Lecture 93 Resizable Items : Raw Resizable Pixmap and Star Item

Lecture 94 Resizable Items : Formal Interface

Lecture 95 GraphicsScene : Render Scene To Image

Lecture 96 Housing WIdgets in Graphics Scene

Lecture 97 Drag And Drop : ShapeListWidget

Lecture 98 Drag and Drop : ColorListWidget

Lecture 99 Drag and Drop : Drop in Scene

Lecture 100 Drag and Drop : Drop on GraphicsItem

Lecture 101 Practice Project : Flappy Bird Game , Project Setup

Lecture 102 Flappy Bird Game : PillarItem

Lecture 103 Flappy Bird Game : BirdItem

Lecture 104 Flappy Bird Game :Make Bird Fly Up

Lecture 105 Flappy Bird Game :Collision Detection

Lecture 106 Practice Project : PainterApp , Project Setup

Lecture 107 PainterApp : Pen Strokes

Lecture 108 PainterApp : Eraser

Lecture 109 PainterApp : Geometric Shapes

Lecture 110 PainterApp : Delete Key and Load Image

Lecture 111 PainterApp : Rubber Band Selection

Lecture 112 GraphicsView Framework : Chapter Review

Section 8: Miscellaneous : Tuning Painter App Features like a real App

Lecture 113 Chapter Overview

Lecture 114 User Interface Clean Up : Project setup

Lecture 115 Pen Properties : Pen Color

Lecture 116 Pen Properties : Pen Style and Width

Lecture 117 Pen Properties : Color Picker

Lecture 118 User Interface Clean Up : Brush Properties

Lecture 119 User Interface Clean Up : Canvas Properties

Lecture 120 Tool Cursors

Lecture 121 Copy , Cut Paste : Overview

Lecture 122 Copy , Cut Paste : Overriding Read(>>) and Write(<<) Operator Methods for Items Lecture 123 Copy , Cut Paste : Building the StrokeItem class Lecture 124 Copy , Cut Paste : Datastream Read and Write Methods Lecture 125 Copy , Cut Paste : Finalizing the Feature Lecture 126 Copy , Cut Paste : Fix StrokeItem position Lecture 127 Saving and Loading Documents Lecture 128 Undo Redo : Overview Lecture 129 Undo Redo :AddCommand Lecture 130 Undo Redo : RemoveCommand Lecture 131 Undo Redo : MoveCommand Lecture 132 Fix Smoothness Section 9: Internationalization Lecture 133 Internationalization Overview Lecture 134 Project Setup, Prepare Strings Lecture 135 Generating TS Files Lecture 136 Translating in Qt Languist Lecture 137 Creating QM Files Lecture 138 Using QTranslator Lecture 139 Loading official Qt Translations Lecture 140 Saving User Translation Choice Section 10: Application Icons Lecture 141 Application Icons Section 11: Deployment Lecture 142 Deployment Overview Lecture 143 Deployment on Windows : Manual Dependency Loading Lecture 144 Deployment on Windows : windeployqt Lecture 145 Deployment on Windows : Qt Installer Framework Lecture 146 Deployment on Linux : linuxdeployqt Lecture 147 Deployment on Linux : Qt Installer Framework Lecture 148 Deployment on Mac OS Section 12: Next Steps Lecture 149 Next Steps Developers , Researchers and Students willing to build professional grade Qt C++ GUI applications

Course Information:

Udemy | English | 39h 50m | 43.59 GB
Created by: Daniel Gakwaya

You Can See More Courses in the Developer >> Greetings from CourseDown.com

New Courses

Scroll to Top