KDAB_Tree_Header_Mobile KDAB_Tree_Header_Web

Trusted Software Excellence since 1999

Jesper K. Pedersen

278 results

Back in August 2021, there was an impressive demonstration of an artificial intelligence able to code web pages and python code. In this video, Jesper demonstrates the KDAB release of Qt Creator with Open AI Codex built in, and show how far you can actually get with it.

Whether you're new to unit testing or already write tests, this episode shows how to set up Qt's testing framework and maximize Qt Creator's testing features. Covers Qt's framework versus others, test cases with QCOMPARE, table-driven testing, Qt Creator integration, debugging tests, and CMake integration.

Unless you've never used QTableView, you've likely struggled with column sizing: avoiding blank space, stretching specific columns, fitting content, allowing resizing, avoiding scrollbars, or preventing excessive vertical space. This example demonstrates solutions to all these common problems.

Building Qt isn't that hard, and doing so helps you with more accurate position information when you debug your way in to Qt itself. In this video I'll show you the steps required to do so.

When writing Qt ModelView models, should you check indexes in methods like rowCount? While Qt itself won't give you invalid indexes, you or coworkers might write broken proxies or interact incorrectly with models. This video presents macros to help validate indexes before using them.

QMessageBox is missing a critical feature (IMHO): a "do not show again" button that makes Qt record my preference, so it doesn't ask me for my preference over and over again. In this episode, I'll implement a drop-in replacement that has this feature.

Git supports running local scripts at different times, including during commits or pushes. This episode discusses useful hooks including preventing commits with FIXME's, ensuring use of specific classes like KDVTableView instead of QTableView, and avoiding QDate::currentDate which breaks unit tests.

There are a million different ways you can use git. Sometimes it's useful to look someone else over the shoulder and see how they do it. In this video I'll show you my workflow.

Let's look at some useful techniques involving qDebug, among others: Making qDebug() included by default, supporting your own types, and sectioned debugging.

This episode shows a simple Linux script to run backup of your source files every ten minutes.

It is not entirely trivial to run clazy and clang-tidy from the command line, but it is rather useful to do so to either run it from CI or to make the same fixit for lots of projects. In the video, I promise a script to run over all files.

Qt Creator includes two powerful static code analysis tools: clang-tidy and clazy, which work out of the box with recent versions. These tools warn about potential errors, performance problems, and code that could be improved, helping developers identify issues before they become bugs or performance bottlenecks in production.

Model/View programming is notoriously difficult. Your carefully crafted models may work fine with single views but struggle with multiple views or proxy models added later. Qt's QAbstractItemModelTester helps catch these issues. This video demonstrates an automatic testing class and explains what the model tester actually does to validate your models.

For more than a year Jesper Pedersen has hosted a Youtube series focusing on Qt Widgets and everything around developing with it. In this talk, Jesper will highlight some of the most important take aways, including coding tips, and especially those relating to the model/view framework, Qt Creator power tips, and general tips relating to a software development tool.

Qt Creator has a facility for remembering different locations in your source codes. It's called bookmark, and is just like bookmarks in books. This video will show you exactly how they work and when and how Jesper is using them.

Imagine a treeview with lots of columns. The columns can be grouped in a number of sections, and you would like that to be visible to the users by changing their background color. Easy-peasy, but how about adding a header on top of these columns? That is what this video will tell you how to do.

Qt Creator supports a number of refactoring techniques by pressing Alt+Enter in the right places. Unfortunately, it isn't super easy to figure out where those places are. So, this and the following episode will show you all the known (to us) refactoring techniques.

Qt Creator supports a number of refactoring techniques by pressing Alt+Enter in the right places. Unfortunately, it isn't super easy to figure out where those places are. So, this and the following episode will show you all the known (to us) refactoring techniques.

When tables or trees display varying data types, certain rows may need to stand out as headers for better organization and readability. This video series demonstrates setting up QTableView and QTreeView with header rows, and explains how models communicate to views which specific rows should be treated as headers rather than regular data rows.

Here is the problem: You grep in Qt Creator and walk through a large number of hits, for each of which you need to make a change. Find out how to handle this in this video.

JesperKjaerPedersen

Jesper K. Pedersen

HR Director / COO