Overview Qt 6 is nearly upon us. While this has not been addressed by other publications, Qt 3D is also introducing a number of changes with this major release. This includes changes in the public API that will bring a number of new features and many internal changes to improve performance and leverage new, low-level […]
Blog Archives
KDDockWidgets v1.1 has been released! An advanced docking system for Qt
KDDockWidgets v1.1 is now available! Although I just wrote about v1.0 last month, the 1.1 release still managed to get a few big features. Here’s the ChangeLog: Auto-hide/SideBar support This was much awaited and probably the last essential feature that was missing. You can now set a dock widget to auto-hide to a side bar. […]
How to Build C++ Projects with the Address Sanitizer on Windows memory bug detection via compiler extension
Memory bugs are tricky. Leaks have a clear impact on performance, and quickly become hard to spot when heap allocated objects move too much. Memory access bugs, on the other hand, make your program crash right away, if you’re lucky. In less desirable cases, they may end up corrupting random objects on the heap, and […]
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 […]
Qt on CMake Workshop Summary – Feb ’19 - Porting Qt to the CMake build system
Intro Last Monday and Tuesday a few brave souls from both the Qt Company and KDAB gathered together in the KDAB Berlin office premises to work on the CMake build system for building Qt. There was Mikhail, Liang, Tobias, Kai, Simon (QtCompany) as well as Jean-Michaël, Albert, Volker and me (KDAB) sitting together in a […]
Writing a Custom Qt 3D Aspect – part 2 Setting up the backend and communications
Introduction In the previous article we gave an overview of the process for creating a custom aspect and showed how to create (most of) the front end functionality. In this article we shall continue building our custom aspect by implementing the corresponding backend types, registering the types and setting up communication from the frontend to […]
Writing a Custom Qt 3D Aspect – part 1 Extending Qt 3D via Aspects
Introduction Qt 3D has a flexible and extensible architecture that allows us to easily add our own new functionality to it without disrupting the existing features. The functionality of Qt 3D is divided among so-called aspects, each of which encapsulates a particular subject domain such as rendering, input, or animation. This short series of articles […]
Hotspot v1.1.0 adds timeline and recording features New release of the GUI for the Linux perf profiler
Close to three months after the initial hotspot release, I’m happy to announce the release of version 1.1.0. Quick recap: Hotspot is a graphical frontend to the Linux perf profiler suite. It allows you to visually analyze perf.data files with the built-in Flame Graph and the Bottom-Up, Top-Down, or Caller-Callee data tables. It is a […]
Clang Tidy, part 2: Integrate qmake and other build systems using Bear Automated refactoring of your source code using powerful open-source tooling
clazy 1.2 released presenting 5 new Qt compile-time checks
In the previous episode we presented how to uncover 32 Qt best practices at compile time with clazy. Today it’s time to show 5 more and other new goodies present in the freshly released clazy v1.2. New checks 1. connect-not-normalized Warns when the content of SIGNAL(), SLOT(), Q_ARG() and Q_RETURN_ARG() is not normalized. Using normalized […]