Better_Software_Header_Mobile Better_Software_Header_Web

Find what you need - explore useful information and developer resources

Areas of Interest

Searching…

1525 results

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.

A 50 second video with more to demystify the u"..."_s in your C++ code - from Jesper and Giuseppe D'Angelo.

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.

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.

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.