Training day


Take the opportunity to expand or update your knowledge around software development with Qt. You can pick from a broad variety of topics suitable for beginners and advanced developers. All training courses are delivered by experienced and highly rated instructors.

All training courses will start at 9:00 and go until 17:00 CEST (approx.). Registration opens at 8:00. Coffee breaks and lunch is included.

Choose your favorite training course during the booking process in our ticket shop. The training day can only be booked in combination with the Qt DevCon conference days.

The following training courses will run one day before Qt Developer Conference, on 13th June 2022


QML Application Architecture with André Somers

Prerequisite: Some real-world experience working on QML applications as well as a basic understanding of Qt & C++.

Topics include:

A discussion of the architecture of QML applications, where to put the boundaries between what you do in C++ and what you do in QML. We will also look at some of the tools you have available in QML that can help you achieve well-performing, well-structured, and well-maintainable QML applications.

Target audience: QML developers looking to improve their understanding of how to construct maintainable and efficient larger-scale QML applications.

About André Somers

Senior software engineer at KDAB, André has been using Qt since 2002 when he wrote an open source Qt 2-based flight computer for use in glider planes. Since then, he has applied Qt in a broad range of industries ranging from oil & gas exploration, scientific data manipulation and visualization to medical devices and many more. His main expertise is in C++ and QML. André holds a MSc in Philosophy of Science & Technology.

Custom components and rendering deep-dive with James Turner

Prerequisite: Ideally, some experience with drawing API such as QPainter or GDI (no OpenGL / 3D experience needed);

Topics include:

When and why to create custom components, how to design them, and especially how to get data on-screen efficiently (Whether from video, real-time acquisition, or databases) Portability, performance, and custom event handling (eg, touch input) will also be discussed. The use of the RHI layer in Qt6 will be introduced, together with modifications needed to work on different target platforms supporting Metal, Vulkan and D3D.

Target audience: Developers looking to improve rendering performance, work with custom data on-screen, or produce novel visual displays in Qt Quick.

About James Turner

Senior software engineer and team lead at KDAB, James has been developing with Qt since 2002. He contributes to the current maintenance of Mac platform support as well as the development of OpenGL and 3D support in Qt. James has a background in UI, graphics, and simulation development as well as a long history of development on OS-X and prior versions of Mac OS. He is a lead developer on FlightGear, the open-source flight simulator, and holds a BSc in Computer Science.

Introduction to CMake with Kevin Funk

Prerequisite: Some experience with build systems in general (but not required)

Topics include:

CMake has broad functionality that covers many real world problems. Learning CMake enables you to solve advanced build requirements. This includes cross-platform builds, feature detection based on platform or available libraries, built- time configurable feature switches, custom build steps, code generators, third-party package retrieval, and usage, making your own library usable for others, etc.

Target audience: Qt/C++ Developers who are interested in how to get the most out of their build system

About Kevin Funk

Kevin has actively developed with Qt/C++ since 2006 and has a special interest in tooling and profiling. He’s been an early contributor to KDAB’s GammaRay analyzer (a high-level Qt application debugger) and thus gained deep knowledge about Qt Core internals. He’s been co-maintainer of the KDevelop IDE, a powerful C/C++ development environment backed by Clang/LLVM, and is pushing for cross-platform success inside KDE. Special interest in large-scale source code refactoring, build tools, CI integration. Kevin holds a Masters Degree in Computer Science.

What’s new in C++20? with Giuseppe D’Angelo

Prerequisite: Solid experience with Modern C++ (11/14/17) is required. Not any particular version, though, since C++20 is largely orthogonal to any of the new features in C++14 and C++17.

Topics include:

Concepts, Comparison (3-way), Coroutines, the char8_t mess, immediate functions, lambda improvements, modules, multi-threading improvements, ranges, span, <bit>, …

Target audience: Qt/C++ developers who wish to familiarize themselves with the current version of the C++ standard, in particular those that wish to write future-proof APIs.

About 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.

Profiling & Debugging for Linux with Milian Wolff

Prerequisite: Solid experience developing with C++ and Qt.

Topics include:

Sampling profiling with Linux perf, measuring memory consumption with heaptrack, and debugging with RR and the sanitizers.

Target audience: Developers writing applications with C++ and Qt, targeting embedded or desktop systems running Linux.

About Milian Wolff

Milian Wolff has a long history of creating tools for C++ developers. He’s the main author of Massif-Visualizer, heaptrack, hotspot and ctf2ctf tools now used widely to improve C++ applications performance. He’s a Senior Software Engineer at KDAB where he enjoys solving hard performance problems and teaching developers about debugging and profiling tools. Milian has a Masters Degree in Physics which explains his scientific approach to performance measurement.

Introduction to QML with Jesper K. Pedersen and Shantanu Tushar

Prerequisite: None

Topics include:

Developing an application in QML and connecting it to C++ back end code.

Target audience: UI developers interested in starting with QML and learning the basics

About Jesper K. Pedersen

Jesper K. Pedersen – COO/HR director at KDAB. Jesper has actively developed with Qt since 1998 and, despite his fancy title, still does so.

He has held almost 100 training classes in Qt since 2000. Today, his greatest claim to fame is the QML youtube series and more recently his youtube series called Qt Widgets and More.

About Shantanu Tushar

Shantanu is a Software Engineer at KDAB and has been developing with Qt/C++ since 2009. Apart from using QML/QtQuick, he has given talks and conducted workshops on QML/Qt Quick for students and professionals alike. With a focus on usability, Shantanu loves using QML/Qt Quick to create elegant and enjoyable user interfaces. When not working on UI, you will find him tinkering with DIY electronics and home automation.