Skip to content

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.

· 7 min read

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
Read more
Related service: Qt & QML Applications Learn more →

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