This tutorial shows how to display Qt Widget windows in a Qt Quick application, combining the flexibility of both frameworks. Learn how to manage integration through C++, expose widget properties and signals to QML, and build multi-window UIs for desktop or embedded platforms from real world examples.
Qt celebrated its 30th birthday in 2025 and Jesper spoke to Troll #4, Paul-Olav Tvete, one of the earliest members of Trolltech - the original Qt company - about much that has happened along the way. You won’t learn about new graphics APIs or how to use coroutines with Qt, but hopefully, it will give you a good laugh. So grab a cup of your favorite beverage and enjoy.
The Curious Developer gets to ask the legendary Bjarne Stroustrup all the questions he's wanted to ask the originator of C++.
Join Jesper as he takes you on a tour of Qt World Summit 2025. The KDAB Team had an amazing time despite the weather, and if you couldn’t make it, this is your chance to catch a glimpse of the event.
KDAB and Schneider Digital developed a system that automates stereo 3D setup by dynamically calculating focal distance, camera separation, pop-out, and field of view. A focus-area method inspired by digital cameras continuously adjusts depth, enabling a plug-and-play experience without manual tuning.
A 50 second video with more to demystify the u"..."_s in your C++ code - from Jesper and Giuseppe D'Angelo.
Efficient embedded development relies on consistent environments, smart dependency management, and robust CI pipelines. Containers ensure reproducibility and streamline onboarding, while balancing source builds and pre-built packages keeps dependencies manageable. Optimized CI with parallel tests and hardware-in-the-loop improves feedback and quality. Incremental refactoring with atomic commits enables continuous improvement without disrupting development.
Before sending his files up for code review, Jesper does a self review, where he reviews his changes. Qt Creator has a nice feature for this, but for the longest time he thought the "Diff Selected Files" feature was broken. In this episode he shows you how it really works.
This video shows how to run Clang-tidy, a static analysis tool for C/C++ code, warning its users about potential errors, performance problems or code that modern C++ allows to express in a better way. Often, clang-tidy can even apply modernizations automatically. Applying clang-tidy is not exactly intuitive, but successfully applied, it is an invaluable support in migrating large codebases to new C++ standards.
One thing is being told, yet another is to see for yourself. Which is why in this episode we will see the implementation of a tree model coded from scratch.
We finally made it here - with all the building blocks in place, watch this video to understand what it takes to implement a tree model.
Qt Quick apps can show a white flash during window resizing due to frame lag. This happens when the window’s background doesn’t match the system theme. Use SystemPalette to set a theme-aware background color, ensuring smooth, consistent visuals across platforms.
When you implement a model, it is worthwhile remembering that one day an intern, with far less experience than you, might implement a proxy model which sits on top of your model and acts as the view. This proxy model might be broken in ways you couldn't even imagine, so better check that the index provided are actually referring to valid data in your model.
As the title suggests, here Jesper live codes a model based on QAbstractTableModel.
Finally, it is time to learn how to implement our own models. We will start with lists and tables in this episode, and later move on to tree models.
In the previous episode we saw the very high level view of model/view. Here, the descent towards actual code begins. On the way there we will discuss how to address the individual items in the views (while simple for a table, not so straightforward for a tree), and the properties we can get for each cell.
KDAB sponsors this year's Qt World Summit, offering a customer case presentation and two talks on the agenda. KDAB also hosts the popular KDAB Training Day on the day after QtWS.
After two episodes talking about the item versions of lists, tables, and trees, we now turn our attention to the model/view version of that story. Using model/view offers a great opportunity to do a separation between business logic and presentation. In this episode we will learn how each of the parts fits together.
In this episode, we will continue looking at the item based widgets for lists, tables, and trees. We will cover "the current item", selection, sorting and event handling.