Programming with Qt for Embedded Devices

This 5-day course focuses on developing modern applications for embedded systems and touchscreens using Qt and QtQuick. The class utilizes real development boards with touchscreens for each participant and introduces students to working with embedded touchscreen systems. Further, fundamentals of programming with Qt will be covered to give participants a thorough understanding of the underlying ideas of QML and QtQuick. Efficient and robust design of applications for touchscreen enabled devices utilizing the latest QtQuick techniques is the central focus of this class. As such, architectural considerations for creating applications consisting of beautiful and highly responsive presentation layers, backed by solid back-end implementations are important learning goals for participants.

In the course, we will use the embedded system on modules and carrier boards from Toradex, a long term Qt partner. The Aster carrier board is compatible with the complete range of Colibri Modules which allows easy scaling of performance. We will use the Colibri iMX6 DL featuring the NXP® i.MX 6 SoC. Creating a prototype with a Toradex Module is very simple, but even better is you can use the exact same module in volume production, including demanding embedded applications. To learn more about Toradex, please visit

After the class, you may keep the Toradex Aster carrier board and Waveshare touchscreen for a discounted fee of $159. This is optional and we will loan you a touchscreen and board at no extra charge if you prefer.


Course Availability: On-site, Open Enrollment
Subject: Qt
Duration: 5 days

Course Prerequisites

  • Working knowledge of C++ programming
  • Basic knowledge of GUI programming
  • Previous Qt experience is not required

Course Outline

Qt Fundamentals
  • Core Classes
  • String Handling
  • Container Classes
  • File Handling
  • Command Line Parsing
  • Lab: File I/O, Text Manipulation, and Command Line Parsing
  • Objects
  • Qt's Object Model
  • Variants
  • Properties and MetaProperties
  • ANSI-Style Typecasts
  • Signals & Slots
  • QTimers
  • Event Handling
  • QApplication, Resources, etc..
Introduction to QML and Qt Quick
  • Introduction to Qt Quick
  • Qt Creator
  • Qt Quick Hello World
  • QML Concepts
  • Composing User Interfaces
  • Nested Elements
  • Graphical Types
  • Text Items
  • Anchor Layout
  • QML Components
Qt Quick Structures and User Interaction
  • Qt Quick Structures
  • Components
  • Signals and Slots in QML
  • QtQuick Controls
  • Modules
  • User Interaction
  • Mouse Input
  • Touch Input
  • Keyboard Input
Animations, States and Transitions
  • Animations
  • Easing Curves
  • Animation Groups
  • States and Transitions
  • States
  • State Conditions
  • Transitions
Under the Hood - the Qt C++ Layer
  • Integrating QML with C++
  • Declarative Environment
  • Exporting C++ Objects to QML
  • Exporting Classes to QML
  • Using Custom Types
  • Plug-ins
Miscellaneous Topics
  • Presenting Data (QML)
  • Arranging Items
  • Data Models
  • Using Views
  • XML Models
  • Views Revisited
  • Graphics Effects
  • Canvas
  • Particles
  • Shaders
  • MultiThreaded Programming
  • Qt Multithreading
  • Thread Synchronization and Primitives
Download Course Description
Dates Course Location Early Bird** Price Register
August 26, 2019 to August 30, 2019 Programming with Qt for Embedded Devices Waltham, MA $2,495 $2,495 Registration Closed
September 09, 2019 to September 13, 2019 Programming with Qt for Embedded Devices - early bird pricing extended! Sunnyvale, CA $2,495 $2,995 Register
September 30, 2019 to October 04, 2019 Programming with Qt for Embedded Devices Houston, TX $2,495 $2,995 Register
November 04, 2019 to November 08, 2019 Programming with Qt for Embedded Devices Sunnyvale, CA $2,495 $2,995 Register
November 18, 2019 to November 22, 2019 Programming with Qt for Embedded Devices Waltham, MA $2,495 $2,995 Register

** Early bird pricing expires one month before the start date for each course.