Programming with Qt for Embedded Devices

Registration Closed

Date: Monday, October 2, 2017 to Friday, October 6, 2017
Location: Dallas, TX
Early Bird Pricing: $2,495
Regular Price: $2,995

Course Description

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 www.Toradex.com

After the class, you may keep the Toradex Aster carrier board* and if you would also like the Waveshare touchscreen, there is a $139 fee.  This is optional and we will loan you a touchscreen at no extra charge if you prefer.

*The f​ree Toradex Aster boards are available to the first 10 registrants. ​
 

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

Course Description: 

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
  • QtQuick Controls to Replace Qt Widget Section
  • 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
Course Prerequisites: 

Course Prerequisites

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

< Back to full list of training