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
Requirements
Basic Knowledge of Qt C++ GUI Development
Description
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.
Overview
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