Qt Pre-Conference Training at #QtWS20

Advance your technical skill with world-class trainers the day before the conference on October 20, 2020 in Palm Springs. Choose from courses with hands-on labs and lectures, from introductory to advanced levels.

Get early bird savings

Select Your Training

Click the name of the training course on the menu to find the full description of the technical training. Training is provided by ICS, KDAB, and The Qt Company


  • User Experience Design for Embedded Devices
  • Hands-on Raspberry Pi
  • QML Programming — Fundamentals and Beyond
  • Multithreading in Qt
  • Advanced QML
  • Introduction to Qt 3D
  • Qt GUI Testing with Squish
  • Microcontroller Programming with Qt for MCUs
  • Get Started with Qt Design Studio

User Experience Design for Embedded Devices  

Prerequisites: N/A

The proliferation of tablets, smartphones, and IoT has resulted in increasingly sophisticated users, whose expectations for ease and intuitiveness of device interactions are at an all-time high. If a system fails to meet these expectations, users are likely to get frustrated, or worse, completely discouraged from using the product. Users expect to be able to seamlessly jump between multiple devices and platforms. Understanding the differences and synergies between desktop, touch, voice, IoT, mobile and gesture-enabled devices are crucial to the design of any successful product. This full-day session for software developers will cover some of the basic User Experience (UX) concepts and techniques that a designer considers before developing an application. We will present various scenarios and UX best practices, discuss User Interface (UI) prototyping and testing strategies, examine case studies and work through a design problem. Attendees can expect to gain a better understanding of how to ensure a quality user experience for their customers.  

About the trainer: Don Goetz. Don is the Manager of the User Experience Design Team at Integrated Computer Solutions, Inc (ICS) and Boston UX He has over a decade of experience in the User Experience Design field in all phases of the UX lifecycle including user requirements, persona development, information architecture, low and high fidelity wireframing, user/usability testing, and heuristic analysis. Don has worked with clients in a variety of industries including aviation, agriculture, financial, industrial, medical and retail. His recent focus has been on designing for touch, gesture and voice interfaces as well as embedded devices. He earned his degree in Information Design from Bentley University. In his free time, Don is an avid board game enthusiast and loves spending time with his wife and two daughters.

This training will be provided by ICS.


Hands-on Qt on Raspberry Pi 


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

This course focuses on developing modern applications for embedded systems and touchscreens using Qt and Qt Quick. 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 Qt Quick. In the course, we will use the Raspberry Pi 3 with touchscreen as the hardware platform.

After the class, you may keep the board and touchscreen for an additional fee. This is optional and we will loan you a touchscreen and board at no extra charge if you prefer.

Note: Participants will need to bring a  modern laptop with a minimum Core i5 processor, 4 GB of RAM and 30 GB of available disk space, USB, and a working Ethernet jack. Participants may also bring an Ethernet adapter if their device does not have an Ethernet jack.

About the trainer: Chris Probst. Chris is a Senior Consulting Engineer and Qt Certified Instructor at Integrated Computer Solutions, Inc. (ICS) who has been working with Qt since 2001. He has extensive experience developing complex Qt solutions for a variety of industries, and has taught hundreds of Qt training courses. He holds a BSc and MSc in Computer Science from Université de Sherbrooke in Quebec, and is fluent in English, French and German.

This training will be provided by ICS.


QML Programming — Fundamentals and Beyond 


  • Basic knowledge of programming (e.g. JavaScript, Java, C, or C++)
  • Basic knowledge of programming with C++ Qt is preferred, but not required

This course will examine the fundamentals of QML, as well as how QML and C++ interact. Not only will you learn the power of what is possible with QML, but more importantly how you should structure it to take full advantage of QML's declarative nature with the power of procedural  C++.   

The course will:
  • Show you how to dynamically manage objects in QML
  • Explain how to manage multi-touch gestures
  • Cover a clean, extensible and maintainable architecture
  • Provide advanced tips for working with QML 
  • Give a live coding demonstration of the construction of a digital multi-meter using Qt Creator

About the trainer: Justin Noel. Justin is a Senior Consulting Engineer and Qt Certified Instructor at Integrated Computer Solutions, Inc. (ICS). He has taught Qt and Qt Quick/QML material for both public and on-site courses for many years. He has also written and conducted seminars on Object-Oriented GUI Design techniques. Justin earned his bachelor’s degree in Computer Engineering Technology from Northeastern University.

This training will be provided by ICS.


Multithreading in Qt

Prerequisite: Knowledge and experience programming with Qt and C++. A basic understanding of multithreaded programming is an advantage but not required.

Multithreaded programming is essential for developers to create fast and responsive applications on computers, phones, and embedded devices all with an increasing number of cores. Qt offers several mechanisms for multithreading; however, it can be difficult to know which to use and how to steer clear of common pitfalls. This course offers guidance how to write safe and efficient multithreaded code with Qt.

Topics include:

  • Basic multithreading concepts (threads, processes, data races, reentrency, shared data)
  • Synchronization primitives (mutexes, semaphores, condition variables)
  • Special concerns for Qt applications (cross-thread signals/slots, QObject thread affinity, the GUI thread)
  • Low-level multithreading with Qt (QThread, QThreadPool, QMutex, etc)
  • High-level multithreading with Qt (QtConcurrent)
  • A brief summary of atomic operations
  • Comparison between Qt and standard C++ multithreading programming

Target Audience: Qt Developers interested in multithreaded programming

About the trainer: Jim Albamont, Senior Software Engineer at KDAB. Jim has actively developed with Qt since 2001. He has a background in computer graphics and data visualization, including 6 years as the lead developer of a multihreaded 3D visualization tool for financial data built with Qt and OpenGL. He has held Qt training classes throughout the US where he is based. Jim holds an MSc in Computer Science.

This training will be provided by KDAB.


Advanced QML

Prerequisite: Functional knowledge of QML (more than 1 year of experience)

The advanced QML course is designed to take programmers who already know QML to a deeper level of functional understanding and equips them with the cutting edge QML skills and know-how to boost their productivity at work.

Topics include:

  • Advanced integration of QML, JavaScript and C++
  • Using OpenGL in custom QML elements
  • Analysing and profiling the Qt Quick scene graph
  • Understanding and removing bottlenecks that affect a QML UI
  • Best practices for achieving optimal performances, even on constrained hardware resources.

Target audience: Experienced QML developers targeting embedded and/or mobile platforms.

About the trainer: Giuseppe D'Angelo, Senior Software Engineer at KDAB. Giuseppe is a long-time contributor to Qt, having used Qt and C++ since 2000, and is an Approver in the Qt Project. His contributions in Qt range from containers and regular expressions to GUI, Widgets and OpenGL. A free software passionate and UNIX specialist, before joining KDAB, he organized conferences on opensource around Italy. He holds a BSc in Computer Science.

This training will be provided by KDAB.


Introduction to Qt 3D

Prerequisite: This course requires use of Qt 5.7.1 or higher and assumes prior knowledge of Qt Quick.  No prior OpenGL knowledge is required.


In this course you will learn Qt 3D and its use of modern programmable shader-based pipelines which can be applied to both OpenGL and OpenGL ES.

Topics included:

  • Drawing: Geometries, Materials and Lights
  • User Input: Picking, Keyboard Handling, Logical Devices
  • Integration and Helpers: Dynamic Scenes, QtQuick Integration
  • Scene Graph: Graphics Pipeline, GLSL, Coordinate Systems, Texturing
  • Frame Graph: Viewports, Layers, Selecting Shaders at Runtime, Post-processing Effects

Target audience: Developers who want to conveniently and efficiently integrate Qt 3D.

About the trainer: Mike Krus, Senior Software Engineer at KDAB. Mike has been developing with C++ since 1996 and Qt since 2004. He has a broad range of experience in scientific applications, mainly in civil engineering and oil & gas industries. His range of expertise includes C++, QML and interactive 3D visualization software design on desktop and mobile as well as macOS development. Mike is the Qt maintainer for the tvOS platform, one of the core contributors to Qt 3D and is interested in building mobile applications with Qt, mainly on iOS. He has a PhD in Computer Science.

This training will be provided by KDAB.


Qt GUI Testing with Squish

Prerequisite: A basic knowledge of QtQuick and UI Design tools

In order to achieve high-quality applications during the testing process, all the functionality of the software shall be covered, including fully exercising GUI itself. For regression testing automating this process gives benefits, saving execution time and increasing accuracy. On the other hand, GUI Automation might be a challenge, as GUI may change significantly during a product life cycle. In this course, we learn how to design and implement cross-platform automated tests using Squish GUI Tester for Qt, QML & QtQuick applications that continue to work as your product evolves.
You will learn:
  • Introduction to GUI Testing
  • Squish Overview (installation, configuration)
  • Test Script Creation and Execution
  • Recording and Replaying Test Scripts
  • Verification Points (Properties, Screenshot, Visual)
  • Test Results and Logging
  • Squish API
  • Image-Based Lookup
  • Set-Up and Tear-Down Functions
  • Development of Test Cases at Business Level
  • Object Recognition
  • Synchronization
  • Debugging Test Scripts
  • Accessing Application Internals (Inspecting, Object Properties and Methods)
  • Squish Command-Line Tools
  • Hooking into Running Applications
  • Squish Integration with CI
This training will be provided by froglogic.

Microcontroller Programming with Qt for MCUs


  • A basic knowledge of Qt Quick/QML and C++
  • Windows 10 laptop
  • Ability to install applications on the laptop, including;
      - MSVC compiler v19.16 or later
      - Qt 5.14 or later
      - CMake 3.13 or later
      - Clang v9.0.0 or later

Qt for MCUs enables creation of fluid graphical user interfaces (GUI) with a low memory footprint on displays powered by microcontrollers (MCU). It is a complete graphics toolkit with everything needed to design, develop, and deploy GUIs on MCUs. It enables a unified technology approach for an entire product line to create a consistent and branded end user experience.

This course provides an hands-on training on how to develop an application on a microcontroller using Qt for MCUs. This session will provide you with a detailed tutorial on using the product from installation on the host computer, execution on the full Qt environment, and then deployment and execution on the target device. 

  • Overview of Qt for MCUs
  • Installation & setup
  • Compiling and debugging a Qt for MCUs application
  • Differences between Qt Quick QML and Qt Quick Ultralite (QUL) QML
  • Different approach with QUL to the QObject approach
  • How to integrate a C++ backend to QUL
  • Finalizing your first demo with Qt for MCUs (QUL QML + C++ backend)

This training will be provided by The Qt Company.


Get Started with Qt Design Studio

Prerequisite: A basic knowledge of QtQuick and UI Design tools

Qt Design Studio is a UI design and development environment for creating complex UIs and previewing them on the desktop, mobile and embedded devices. It provides you with tools for accomplishing your tasks throughout the whole process, from design to production. Both designers and developers use Qt Design Studio and this makes collaboration between the two a lot simpler and more streamlined. The latest release provides support of 2D and 3D in the same tool.
Designing UIs
  • Organizing Assets in Photoshop and Sketch
  • Flow Design / Adobe XD (planned for 1.5)
  • Exporting Designs
Managing Projects
  • Creating Projects
  • Using Git
  • Importing Designs
  • Annotation Support (planned for 1.5)
  • Converting UI Projects to Applications
Creating UIs
  • Creating Components
  • Managing Item Hierarchy
  • Specifying Item Properties
  • Creating Animations
  • Adding Connections
  • Adding States
  • Editing QML Files in Design Mode
Integrating 3D Content
  • Qt Quick 3D
  • Importing 3D Assets
  • Editing 3D scenes
  • 3D Views inside of Qt Quick
  • 2D Views inside of 3D
  • Previewing UIs
  • Previewing on Devices 

Trainer: Shawn Dorsey, Senior Technical Artist, The Qt Company
Shawn Dorsey is a Senior Technical Artist for the Qt Company.  He has Design & Engineering experience in both the Aviation and Automotive industries, including cutting-edge technology in Augmented Reality (AR), Virtual Reality (VR), and WebGL.  Shawn holds degrees in both Computer-aided Design/Engineering and 3D Animation/Visual Effects.        

This training will be provided by The Qt Company.


QtWS2020 Training Providers
Discover top-rated Qt training courses created for developers, designers & device creators.  

QtWS20 training partners


  • ICS
  • KDAB
  • The Qt Company

QtWS20_ics_logo_trainingIntegrated Computer Solutions (ICS) specializes in custom software development and user experience (UX) design for high-impact, embedded touchscreen devices, and mobile and desktop applications. The largest independent source of Qt expertise in North America, ICS has solved complex Qt and QML development challenges for hundreds of Global brands in the automotive, aerospace, consumer, industrial, medical and transportation industries, among others. ICS’ approach, which prioritizes early UX and layered architecture, speeds development of quality products that are market-ready in less time, at less cost and at lower risk than is possible using traditional development approaches. ICS offers a variety of Qt training courses, as well as an extensive library of free online Qt webcasts. www.ics.com


KDAB_logo_listimageKDAB is the world’s leading software consultancy for architecture, development design of Qt, C++ and OpenGL applications across desktop, embedded and mobile platforms. KDAB is the biggest independent contributor to Qt and KDAB experts build run-times, mix native and web technologies, solve hardware stack performance issues and porting problems for hundreds of customers, many among the Fortune 500. KDAB’s tools and extensive experience in creating, debugging, profiling and porting complex, great looking applications help developers worldwide to deliver successful projects. KDAB’s global experts provide training with hands-on exercises for Qt, OpenGL and modern C++ in multiple languages. www.kdab.com



TheQtCompany-list-itemThe Qt Company, Qt Group (Nasdaq Helsinki: QTCOM,) is a global software company with a strong presence in more than 70 industries and is the leading independent technology behind millions of devices and applications. Qt is used by major global companies and developers worldwide, and the technology enables its customers to deliver exceptional user experiences and advance their digital transformation initiatives. The Qt Company generated 45,6 MEUR in net sales and averaged 295 employees in 2018. To learn more, visit http://qt.io.


Register today!

Reserve your place and don't miss out on these amazing training sessions.