Location: Waltham, MA
Early Bird Pricing: $1,695
Regular Price: $1,995
Course Description
This 3-day course approaches common issues inherent to Qt/QML development. We cover a wide-range of advanced topics such as keyboard focus, gestures, virtual keyboard, unit-testing, profiling, rendering; and provide helpful design patterns and debugging tips. The target audience is the intermediate QML developer.
Course Availability: On-site, Open Enrollment
Subject: Qt
Duration: 3 days
Course Prerequisites
- Basic knowledge of programming with Qt on the desktop using widgets
- Basic QML experience
Day 1
User Input
- Keyboard Navigation and Focus
- Input Focus
- Focus Order
- Focus property
- Active Focus
- FocusScope
- Virtual Keyboard
- Handling Keyboard Input
- Key-Specific Handlers
- All Keys Handler
- Key Event Propagation
- Event Propagation is Convenient
- Multi-Touch
- Common Multi-Touch Gestures
- Handling Overlapping Touch Areas
Dynamic Creation of Items
- Creating Items Dynamically
- Procedural Method
- Declarative Method
- Procedural Creation
- Procedural/Declarative Creation
- Declarative Creation
- Creating Multiple Items
- Repeaters
Debugging and Profiling QML Applications
- The Scene Graph
- QML Profiler
Day 2
Review and Solution of Lab 1
Model/View
- Model/View Concepts
- Showing Simple Data
- Custom Models
- Proxy Models
- Delegates
- Tree Models
Multithreaded Programming
- Qt Multithreading
- Thread Synchronization and Primitives
- QtConcurrent
C++/QML Layer
- Layered Design
- Exporting QPainter based GUI Classes
- Exporting Scene Graph GUI classes
- Defining Custom Property Types
- Qt Serial Bus C++ Classes
Day 3
Testing
- QTest Framework in QML
- Overview
- Adding a Test Suite
- Implementing a Test
- Add a Testing Main()
- Running the Test
- Simulating GUI Events
- Mocking C++ Classes with QML
- SignalSpy
- Design for Testability
-
Notes on Google Test Framework and Qt
Additional Topics
- Animations
- QML Charts
- QML Canvas
- Particles
- OpenGL and QML
- Intro to Qt 3D