KDAB Training Day

8th May 2025, Munich, Germany

The KDAB Training Day 2025 will take place in Munich on the 8th of May, right after the Qt World Summit on 6th to 7th of May.

Below, you will find descriptions for all available courses and book tickets to the Training Day only. Note: If you plan to attend both Qt World Summit and KDAB Training Day - buy a combo ticket directly in the Qt World Summit Ticket shop.

KDAB Training Day is held at Hotel NH Collection München Bavaria, located directly at the Munich Central Station (not the same location as Qt World Summit).

All courses start at 9am and end at 5pm. There will be a lunch break and coffee breaks.

KDAB is well-known for its quality training courses on Qt/QML, Modern C++, Debugging and Profiling, OpenGL, and other topics relevant to Qt developers. All courses provided at the Training Day include central parts of the regular 3- to 4-day courses available as scheduled or customized on-site training.

Choosing a compact, learning-rich one-day course, lets you experience the quality and effectiveness of KDAB’s usual training offerings.

Seats are limited, so don't wait too long if you want to participate in a specific course. Tickets include access to the selected training course, training material, lunch buffet, beverages, and coffee breaks.

Courses available at the KDAB Training Day 2025

In this training, we do a step-by-step walkthrough of how to build a QML-based embedded application from the ground up and discuss some challenges that are typically met along the way.

An important part of that journey is an investigation of where to put the boundaries between what you do in C++ and what you do in QML. We also look at some of the tools and building blocks we have available in QML that can help us achieve well-performing, well-structured, and well-maintainable applications.

This course is for

(Qt) developers looking to improve their understanding of how to construct maintainable and efficient larger-scale QML applications.

Prerequisite 

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

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.

In this training, we start with a recap of fundamentals:

  • How do we expose C++ API to QML?
  • How do we make data available to QML?

Afterward, we explore several more advanced techniques, often widely deployed within Qt's QML modules, such as Qt Quick.

This will answer questions such as:

  • How would I do a Loader like component?
  • How would I do a Layout like component?

This course is for

Qt/QML developers who are familiar with the QML APIs of QtQuick and related modules and who have wondered how these are implemented and want to use similar techniques in their project-specific APIs.

Prerequisites 

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

Kevin Krammer

Senior Software Engineer and a Senior Qt Trainer, Kevin is also a longtime contributor to Qt and KDE. He has experienced a wide range of different use cases of Qt across multiple industries with clients, but also enjoys exploring technologies and techniques around Qt beyond the confines of specific project scopes.

Kevin holds a BSc in Software Engineering.

Modern C++ emphasizes safer, more efficient, and maintainable code through higher-level abstractions that reduce error-prone manual work.

This training will explore key paradigms shaping recent C++ evolution, starting with value semantics in class design, which enhances code safety, local reasoning, and thread safety. We will examine modern C++ tools for creating value-oriented types, including move semantics, smart pointers, and other library enablers.

Next, we will look at expressive, type and value-based error handling.

Finally, we'll cover range-based programming, which enables clean, declarative code and unlocks new patterns through lazy, composable transformations.

This course is for

C++ developers who wish to improve the quality of their code, in particular those who wish to write future-proof APIs.

Prerequisites

Prior professional experience in C++. Experience with the latest C++ standards (C++20/23/26) is a plus. We will use several examples inspired by Qt APIs, so Qt knowledge is also a plus (but this is not going to be a Qt training). 

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.

In this step-by-step course, we start with a Qt/C++ application and add Rust code to it piece by piece. To achieve this, we will cover:

  • Use of Cargo (Rusts build system) with CMake
  • Accessing Rust code from C++ with CXX (and vice-versa)
  • Defining your own QObject types in Rust with CXX-Qt

We discuss when to use Rust compared to C++ to make the best of both languages and how to use them together effectively to make Qt applications safer and easier to maintain.

This course is for

Qt/C++ Developers with an interest in Rust who want to learn how to use Rust in their existing applications.

Prerequisite

Basic Qt/C++ knowledge, as well as basic Rust knowledge, is required. A working Qt installation with CMake and a working Rust installation is needed. We will provide material before the training day that participants should use to check their setup before the training. 

Leon Matthes

Leon Matthes is a Software Engineer at KDAB and one of the authors of CXX-Qt, KDABs open-source Rust-Qt interoperability library. He has been a passionate Rust-Advocate since 2019 and has since gained considerable experience in integrating Rust into C++ applications.

In this training, we look into all the new developments in QML over the last few years and how they lead to more expressive, performant, and maintainable code.

This includes:

  • The qt_add_qml_module CMake API
  • Declarative type registration
  • The different QML compilers
  • New language and library features
  • New developments in Qt Quick Controls
  • Usage of tools like qmllint, QML Language Server, and qmlformat

The focus will be on gradually modernizing existing codebases with new tools and practices.

This course is for

Developers who learned QML back in the days of Qt 5 and want to catch up with recent developments in QML and modernize their knowledge as well as codebases.

Prerequisite

Some real-world experience with QML and a desire to learn about modern best practices.

Nicolas Fella

Nicolas is a software engineer at KDAB with multiple years of experience developing with Qt/C++ and several contributions to Qt. He has a passion for open source and works as Software Platform Engineer at KDE e.V., the non-profit behind the KDE Community. There he has spearheaded the transition to Qt6 and is working on modernizing and improving the building blocks underpinning all KDE software.

Qt has long offered ways of using low-level 3d libraries such as OpenGL to do custom rendering. Whether at the Window, the Widget, or Quick Item level, the underlying rendering system can be accessed in ways that make it safe to integrate such 3rd party renderers. This remains true in the Qt 6 timeline, although the underlying rendering system has changed and OpenGL has been replaced by RHI.

In this course, we look at how the graphic stack is structured in Qt 6 and how third-party renderers can be integrated on the various platforms supported by Qt.

We then focus on the specific case of integrating Vulkan-based renderers. Vulkan is the successor to OpenGL; it's much more powerful but harder to learn. To facilitate the initial use of Vulkan, we introduce KDGpu, a library that encapsulates Vulkan while preserving the underlying concepts of pipeline objects, buffer handling, synchronization, etc.

This course is for

Developers wanting to understand the recent state of the graphics stack in Qt, discover the fundamental principles of modern graphics API, and integrate their custom renderers in their applications.

Prerequisite 

Prior knowledge of Qt will be required. A basic understanding of 3d graphics would be beneficial.

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 video cannot be viewed without cookies. To view it here, update your to allow all cookies, or view it on YouTube

We look forward to seeing you in Munich!

Get your ticket