We are pleased to announce a new release of our Hotspot Linux perf performance analysis GUI, Hotspot version 1.3.0! Hotspot is a replacement for perf reportthat takes a perf.data file, parses and evaluates its contents, and then displays the result in a graphical form. You can read a bit more about Hotspot here: https://www.kdab.com/hotspot-gui-linux-perf-profiler/ Overview […]
Technical Get the RSS Feed
Creating Python bindings for Qt libraries
Python is a handy all-purpose language. It can make you very productive within a short time period and has powerful expressiveness for data manipulation and processing. Yet, it’s not a great fit for lots of tasks. C++ is far better at achieving anything that needs bare metal performance, deterministic timing, or low-level access. Thankfully, some […]
My file menu is not full of eels Or, why do my menus behave oddly on macOS when translated?
This is the story of a bug in an open-source project I maintain; as the maintainer I review and sometimes fix bug reports from the community. Last week, a user reported that the ‘File’ menu of the application was not appearing on macOS. Some investigation showed this didn’t happen when using the default translation (i.e […]
Fixing a common antipattern when loading translations in Qt
TL;DR: If you choose a default translation in your Qt application based on a locale name like this: then please change it to: Some of your users (me!) will be thankful that your application appears in the same language as the rest of their system. Background I’m a Polish guy working with computers, mostly on […]
Why is my screen dark A digestible blog on common render issues and what their cause could be
Part 3 If you are here from Part 1, you missed Part 2, somehow. You have tried everything from the first two parts that seemed applicable, and your screen is still a window to the void? No problem: we’ve gathered another five reasons this could be happening and how to go about fixing them. Issue […]
How to declare a qHash overload
Today’s blog post is about something that should be simple and apparently it causes trouble: how to declare a qHash overload for a custom datatype. This is necessary when we want to use custom datatypes as keys in a QHash. From the documentation: A QHash’s key type has additional requirements other than being an assignable […]
QStringView Diaries: Zero-Allocation String Splitting QStringTokenizer merged for 6.0
After four months of intensive development work, I am happy to announce that the first QStringTokenizer commits have landed in what will eventually become Qt 6.0. The docs should show up, soon. While the version in Qt will be Qt 6-only, KDAB will release this tool for Qt 5 as part of its KDToolBox productivity […]
Kuesa 3D 1.2 release!
Today, KDAB is releasing version 1.2 of the 3D integration workflow Kuesa 3D, built on top of Qt 3D. Kuesa™ 3D is a complete design-to-code workflow solution for 3D in real-time applications, centered around the open glTF™ 2 format, supported by Blender, Maya and 3ds Max. Read the Press Release… In short, Kuesa provides a […]
VS Code for Qt Applications – Part 2 A Technical Guide
This 3-part blog series shows in detail how to get up to speed with a Qt project using Visual Studio Code. Part 2 shows how to get a complete setup for qmake and CMake projects, with a deeper look at the Qt side.
Using Modern CMake with Qt
KDAB’s Kevin Funk presented Using Modern CMake with Qt at Qt Virtual Tech Con last month. He reported that the Qt Company did a great job moderating the sessions at this event, and there was a lively Q&A at the end – Kevin had to pick from about 60 questions, so this is a hot […]