Source code for the Desktop Apps with Qt Widgets and C++ course. Build cross platform desktop applications that run on Windows, Mac and Linux. From beginner to Pro.
This comprehensive course takes you from beginner Qt knowledge to building complete, polished desktop applications. Learn advanced Qt features including event handling, custom widgets, painting, model-view architecture, graphics view framework, and deployment strategies.
- 40+ Hours of Video Content – Comprehensive step-by-step tutorials
- Hands-On Projects – Build real-world applications from text editors to database managers
- Modern Qt 6 & C++ – Latest best practices with C++17/20 and smart pointers
- Cross-Platform Development – Write once, run on Windows, Mac, and Linux
- Expert Instruction – Learn from Daniel Gakwaya with 10+ years of Qt experience
- Complete Source Code – For every project in the course
- Lifetime Updates – All new content as it's released
- Flappy Bird Clone - Game development with event handling, custom widgets, and collision detection
- Professional Painting Application - Advanced painting app with drawing tools, shapes, undo/redo, and file operations
- And Many More Projects ... - Drawing Apps, Drag and Drop, Resizable Items and more...
After completing this course, you'll be able to:
- Build cross-platform desktop apps that run on Windows, Mac, and Linux
- Create professional UIs with Qt Designer and custom widgets
- Handle databases, file I/O, and network communications
- Deploy applications with proper installers and auto-updaters
- Debug and optimize Qt applications for production
- Master advanced Qt concepts including:
- Event programming and custom event handling
- Custom widgets and advanced painting
- Drag & drop functionality and clipboard integration
- Graphics View Framework
- Model-View programming with editable tree models
- Multi-language support (internationalization)
- Saving, loading, undo & redo functionality
- Application deployment on multiple platforms
The course is organized into the following sections:
- 00_GettingStarted - Course introduction and Qt setup
- 01_MemoryManagement - Heap/stack memory, smart pointers, Qt parent-child relationships
- 02_SignalsAndSlots - Lambda functions, signals and slots, Qt Widgets demo, Calory Counter app
- 03_ATourOfQtWidgets - Comprehensive tour of Qt widgets (QMainWindow, layouts, buttons, etc.)
- 04_Dialogs - File dialogs, font dialogs, color dialogs, custom dialogs
- 05_Resources - Qt resource system
- 06_Styling - QPalette, style sheets, external styling
- 07_Settings - QSettings for application configuration
- 08_FileDirectories - QFile and QDir operations
- 09_Networking - QNetworkAccessManager, JSON APIs
- 10_QtCollectionClasses - QList, QSet, and other Qt containers
- 11_Events - Event handling, propagation, filters, custom events
- 12_CustomWidgets - Composing widgets, modifying widgets, promoting widgets
- 13_DrawingAndPainting - Coordinate systems, drawing shapes, QPen/QBrush, gradients, painter paths
- 14_DragDropAndClipboard - Drag & drop, clipboard operations
- 15-ModelViewArchitecture - Model-view programming concepts
- 16-GraphicsViewFramework - Advanced graphics and scene management
- 17-Miscellaneous - Additional Qt features
- 18-Internationalization - Multi-language support
- 19-Deployment - Deploying Qt applications
- Basic knowledge of C++ programming
- Familiarity with Qt fundamentals (recommended: Qt C++ GUI Development for Beginners)
- Understanding of object-oriented programming concepts
Daniel Gakwaya - Qt expert with 10+ years of professional experience. Daniel has developed numerous cross-platform Qt applications and is passionate about sharing knowledge with developers new to Qt.
- 1,500+ Students enrolled worldwide
- 4.9/5 Average Rating from students
- 92% Completion Rate
- 45+ Countries represented
Each section contains demo applications and projects that build upon the previous material. Start with the Getting Started section and progress through the course at your own pace.
This course is part of the LearnQt curriculum. For more courses on Qt development, visit learnqt.guide.