Here is a brief summary of the topics of the planned beta course.
Introduction - Introduction to the course
- Everything required for starting the course
- Workspace setup
- Documentation
- Help channels
- Workflow introduction
- Course tools introduction
- Introductory topics:
- Creating and debugging Qt projects
Hello world! - String handling and value types
Basic string manipulation (min: QString + QChar + QCodec, creating, concatenation + light-weight use with QLatin1String - QObject - Subclassing
Custom QObjects with properties, enums - Parent-Child relationship
Qt memory management with object trees - Object Communicating: Signals and Slots
Observer pattern: Object communication with signals and slots
- Short basic assignments that account for 50%ish of the assignments of the week
- One bigger assignment completed step by step trough implementing the required topics of learning from Week 1 resulting in a complete application
- User Interface creation using Qt Quick:
- QML Hello World
Hello world v2! To be able to develop, build and run a simple QML application - Rectangle, Image, BorderImage, Text
Basic QML items - Key Handling
Controlling focus and handling key presses - Mouse Handling
Mouse handling with MouseArea - Handlers
Handling multiple touch events in a single item - Positioners
Grouping items with positioners - Anchors
UI scaling with anchors - Components: Properties, Signals
Creating components and component interfaces - Re-usable Components
How to create good, re-usable components - Qt Quick Controls
The Qt Quick Controls module
- Short basic assignments that account for 50%ish of the assignments of the week
- TBA
- Manipulating and presenting data using QML:
- List model manipulation
Basic QML model and JS manipulation - ListView vs TreeView
List vs Tree - Standard Item Model
Model/View framework basics - Basic Delegate
TBA - Grid vs TableView
Use Cases - Dynamic Delegate - Loader
Good delegate implementation
- Short basic assignments that account for 50%ish of the assignments of the week
- TBA
- Combining C++ with QML:
- Context Properties
How to communicate between C++ and QML - Context Objects
TBA - Calling QML from C++ and vice versa
TBA - Registration
TBA - QML Plugins
Right way of doing registration - Custom QObjects
Deriving good types for QML
Here are our plans and outlines for the Qt Mooc materials.
This is the original material outline repository which contains the work in progress that is the Qt Mooc material.
These pages are used for content creation and do not in all cases represent a finished product. In most cases they represent a construction site where we recommend you take the stairs, instead of the elevator. The elevator will be implemented in 2020.
This is also the repository where the completed course exercises can be found.