KDAB_Tree_Header_Mobile KDAB_Tree_Header_Web

Trusted Software Excellence since 1999

Jesper K. Pedersen

278 results

Qt's model/view framework treats headers as views, making it easy to change properties like foreground color or font for header cells, just like table cells. However, one missing feature is checkbox support in headers. This video demonstrates adding header checkboxes, which is useful because unlike table content, headers don't scroll away when navigating through data.

In Qt Creator, it is possible to customize how your own data types are displayed. An instance of a money class may, for example, be displayed at €100. Learn how to set this up in this episode.

When you start GDB, it takes quite a long time to parse symbols from the binary and all of its dependencies. This, however, can be cached with almost no disadvantages. Learn how, in this video.

A debugger is, without a doubt, a very useful tool to have. However, sometimes you debug just one step too far and wish you had a time machine to go back. Now, such a time machine does actually exist on Linux. It's called 'rr,' was developed by Mozilla to debug Firefox, and is far from just a toy.

Did you know you can set up custom button groups for radio buttons within Qt Designer? Learn how here.

You want enum class over just enum, right? That is, however, a bit troublesome with Qt's model/view framework, where you often use int. This episode will introduce a few helpers that will make your life much easier.

Having covered the effect of Ninja, Clang and CCache in the previous video, Jesper now turns his attention to the speed up gains that can be had with very little work on your side, when using precompiled header support.

This is the first in a mini-series on speeding up compilation, and tells the story of switching back to Linux and discovering what worked best in speeding up compile time. The story covers Make vs Ninja, Clang vs Gcc and the effect of using CCache. Whilst some of the material is indeed Linux specific, other sections apply just as well on Mac and Windows.

This video shows how to get access to documentation of std::any_of from within Qt Creator.

Always try to run the latest version of the tools you're using. They bring bugfixes and more features. Thankfully, upgrading Qt Creator is just a matter of a few clicks -- in the right tool, if you can find it. In this video, Jesper shows how it's done.

Number 30 in the Qt Widgets and More series, this video address the issue where, if you are doing a larger refactoring involving central files, you might end up recompiling over and over again while fixing just a single source file. In these situations, using Qt Creator's ability to recompile only a single file is very useful. But there's more.

This video will show you how you debug loading of the plugins, using strace on Linux and procmon on Windows.

In the previous episodes, we created and compiled a plugin for Qt designer. The final part missing is to deploy the files in the right directories.This episode discusses the CMake magic that makes that happen.

In this fourth episode of our mini series on developing plugins for Qt Designer, we finally implement the classes that make up the plugin.

Making widgets into standalone plugins can be challenging if they weren't carefully designed during development. A solution is restructuring your application into a library plus simple main function using that library. This episode covers everything needed for this architectural transformation to enable proper widget plugin extraction.

Before you create a plugin, your classes may be configured using constructors like: class Wishes { public: Wishes(bool isExclusive, const QColor& color, QWidget* parent); ... } But how do you handle these parameters if your constructors can't take anything but the parent pointer? This episode will discuss a few different possible solutions.

In this first episode on developing plugins for Qt Designer, we will discuss the widget promotion feature and its shortcomings compared to plugins. This is the first video out of 6 on this topic. So, stay tuned!

In your code, you will likely find numerous places where you go from an enum to a QString and back. This video shows you the smart way to do it, using Qt's introspection facilities.

A nice feature of QListView and QTreeView is that the user can adapt the width of the columns using the mouse. A problem with that, however, is what to do if the column width is not wide enough to show all text. In this episode we will present an adapter that allows your model to provide multiple different strings the view can choose from.

In this final episode, you will learn about how the templates are moved to specific sections, and I'll also share with you an "install" script that you (and your co-workers) can use to get the templates copied to the right place.

JesperKjaerPedersen

Jesper K. Pedersen

HR Director / COO