Qt & QML Training: Interfaces That Stay Smooth on the Device
Three days from QML fundamentals to the question that actually matters on embedded hardware: why does it stutter – and what fixes it. With C++ integration, Model/View, and a profiler that shows the answer instead of guessing at it.
- Level
- Beginner – Intermediate
- Duration
- 3 days
- Formats
- On-site · Remote
Focus areas
- Qt Quick & QML fundamentals
- C++/QML integration
- Model/View with QML
- Performance & profiling
Who this training is for
Development teams building or inheriting a user interface with Qt – for an embedded device, a desktop application, or both from one codebase. The most common starting point: a Qt application already exists, grown over years, and the team wants to develop it further without guessing at every change.
Contents
Day 1 – Understanding QML. Qt Quick as a declarative model: elements, properties, bindings. Why a binding is not an assignment, and why that distinction is exactly where QML turns either elegant or unmanageable. Layouts, anchors, states and transitions. We build a first complete interface and break it down into reusable components.
Day 2 – Bringing C++ and QML together. The boundary between logic and interface: what belongs where. Exposing your own types to QML, properties and signals, the property system. Model/View with QML – where most real-world mistakes happen, because a model either reports too much or too little. We build a custom model and connect it to a list.
Day 3 – Making it hold up on the device. What the rendering loop costs, which constructs are expensive, and how to measure that rather than assume it. Qt Quick on embedded: EGLFS, hardware acceleration, memory footprint, time to first frame. We profile an interface together and work through the bottlenecks – the session teams typically take the most from.
What your team can do afterwards
Build a QML interface from clean, reusable components rather than one long file. Separate logic and presentation so both stay testable. Diagnose a Model/View problem instead of working around it. And measure a stuttering interface, name the culprit and fix it deliberately.
Prerequisites
Programming experience, ideally in C++. A basic grasp of object-oriented concepts. No prior QML knowledge required.
Format and delivery
Three days, on site or remote. For embedded emphases we work on target hardware so the gap between development machine and device becomes visible – on a laptop, almost any interface runs smoothly.
On request we also cover migrating from Qt 5 to Qt 6 when that is on your roadmap.
Frequently asked questions
- Do participants need C++ knowledge?
- Not strictly for the QML part, but yes for integrating application logic. Solid C++ fundamentals make days two and three considerably more rewarding. For teams where that is the gap, we are happy to combine this with our C++ training.
- Qt 5 or Qt 6?
- We teach on Qt 6 and point out differences from Qt 5 wherever they matter in practice. If your product still runs on Qt 5 and a migration is coming, we fold that in deliberately – the order of the steps is what decides how painful it gets.
- Does it cover embedded specifics?
- Yes, that is our emphasis. EGLFS instead of a windowing system, hardware acceleration, memory and startup budgets: exactly the points where an interface developed on the desktop starts showing on the device. Teams targeting desktop only get these parts correspondingly shortened.
- Can we work with our own application?
- Partly. The core exercises run on a shared example so everyone starts from the same place. For the performance session on day three your own code is often the better subject – then we profile what actually troubles you.
Articles on this topic
Going deeper, from our blog – the same topics at length.
Qt in Embedded Environments
How Qt brings modern user interfaces to resource-constrained hardware – from QML and hardware acceleration to boot time and a lean stack.
- Qt
- QML
- Embedded Linux
Migrating From Qt 5 to Qt 6: A Roadmap for Embedded Projects
How to make a Qt 5 to Qt 6 migration predictable in embedded projects: qmake to CMake, Qt5Compat, the new RHI-based graphics stack, and the sequence that keeps risk low.
- Qt
- Qt 6
- Migration
Qt as a Cornerstone for Multiplatform Environments
One codebase for embedded, desktop and mobile: how Qt enables true multiplatform products through a consistent separation of logic and UI.
- Qt
- Multiplatform
- C++
Other trainings
Modern C++
From move semantics and smart pointers to the additions in C++20/23: write safe, expressive and performant modern C++ code.
2 daysEmbedded Linux Fundamentals
Understand the anatomy of an Embedded Linux system – from bootloader and kernel to the root filesystem and your own application on real hardware.
3 daysYocto Project Intensive
Build your own Linux distribution with the Yocto Project: BitBake, custom layers and recipes, image customization and reproducible builds in CI.
2 daysGit & Version Control
Version control that holds up in a team: branching strategies, a clean history, code review workflows and how to handle the situations where Git hurts.
This training for your team?
Tell us how many participants, where they stand and your timeframe – we'll come back with a proposal and dates.
Start a project