Programming with Qt for Embedded Devices

Date:
Monday, March 27, 2017 to Friday, March 31, 2017

Location: Houston, 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.

This course uses a RaspberryPi and Touchscreen for its labs. If you would like to bring the device home with you, there is a $200 fee. This is optional and we will loan you a device at no extra charge if you prefer.

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