A few days ago Marc Mutz, colleague of mine at KDAB and also author in this blog, spotted this function from Qt’s source code (documentation): Apart from the mistake of considering empty strings not uppercase, which can be easily fixed, the loop in the body looks innocent enough. How would we figure out if a […]
Technical Get the RSS Feed
Fix Qt Creator code highlighting on Windows/MSVC projects how to configure your projects to get code highlighting and code navigation back
Have you ever noticed code highlighting disappearing in Qt Creator for some projects, without any apparent reason? Can’t get Ctrl+Click to work on any class name or function name anymore? Maybe you have ignored it at first, got used to it, and decided it’s just one of those things that just “happen sometimes”; or maybe […]
KDAB Challenge Solutions Answers to KDAB’s 20 Years Developer Challenge
Task 1 View Task 1 Proxy types can be tricky. If we got a QChar (or a reference to a QChar) by accessing a character in a QString with the operator[] as most people would expect to, the automatic type deduction requested by auto current = hello[i] would deduce that current is of type QChar. […]
The Eight Rules of Multithreaded Qt The biggest dos and don'ts for multi-threading in Qt
While the concept of multithreading may be straightforward, code with threads is responsible for some wicked bugs, which can be nearly impossible to reproduce or track down. This makes writing bullet-proof code using threads a tall order. Let’s look a little deeper into why that is. First, you need better than average knowledge about the […]
UiWatchDog: a keepalive monitor for the GUI thread Part of the KDToolBox series
Continuing our blog series about KDToolBox, this time we will discuss UiWatchDog, a keepalive monitor for the GUI thread. Alive? A fundamental rule when writing applications in event-driven UI frameworks such as Qt is: do not ever block the GUI thread! The GUI thread is also usually called the main thread of the application — […]
Using Visual Studio Code for Writing Qt Applications
Software developers like tools, and in particular tools that make them more productive. So in this blog post, I am going to share with you some of the experiences some of us here at KDAB have had using Visual Studio Code for Qt development. Motivation of using Visual Studio Code instead of Qt Creator The […]
Qt 3D: One too many threads or what has changed in 5.14
Qt 3D makes heavy use of threads, as a way to spread work across CPU cores and maximize throughput, but also to minimize the chances of blocking the main thread. Though nice on paper, the last case eventually leads to added complexity. Sometimes, there are just one too many threads. In the past, we’ve been […]
Qt for Android better than ever before What's new in Qt 5.14 for Android
As you already know KDAB is the largest independent contributor to Qt code. Of course we didn’t get lazy and we’ve added a lot of cool stuff to Qt 5.14. In this article I’m going to write about the super cool stuff that we’ve added to Qt 5.14 for Android. Android multi arch build in […]
Little Trouble in Big Data – Part 3 Dealing with resource bottlenecks
In the previous two blogs in this series I showed how solving an apparently simple problem about loading a lot of data into RAM using mmap() also turned out to require a solution that improved CPU use across cores. In this blog, I’ll show how we dealt with the bottleneck problems that ensued, and finally, […]
3D – Interactions with Qt, KUESA and Qt Design Studio, Part 2
In my last post, I went through a method of creating a simulated reflection with a simple scene. This time I’d like to take the technique and apply it to something a bit more realistic. I have a model of a car that I’d like to show off in KUESA™, and as we know, KUESA […]