In the previous blog post about qHash, we explained: how to declare an overload of qHash for your own datatypes, how to hash Qt datatypes for which Qt does not provide a qHash overload, and why you can’t use a type from the Standard Library (or just another library) as a key in QHash (newsflash: […]
Technical Get the RSS Feed
Qt Embedded Days 2021
This brand new online conference hosted by KDAB offers in-depth technical topics from embedded developers for embedded developers – especially, but not exclusively, for those working with Qt on Embedded Devices. The call for papers is now closed and the program will be announced as soon as the committee has made a final selection. We […]
Efficient Custom Shapes in QtQuick : Shaders
A long time ago, I wrote a post about creating custom shapes in Qt Quick, via the scene-graph APIs. That post covered defining suitable geometry to draw a part of a circle, known also as a ‘sector’, efficiently, since such sectors occur commonly in instrument and vehicle interfaces. I started writing the second part, about […]
Kann das nicht der Compiler machen? Maßgeschneidertes C/C++ Tooling mit Clang
Einleitung Der ESE Kongress ist die Leitveranstaltung für Embedded Software Engineering in Deutschland. In diesem Jahr fand er erstmals digital statt, so dass die Teilnahme auch per Video möglich war. An fünf Tagen gab es 3 Keynotes und 96 Fachvorträge aus allen Bereichen der Embedded Softwareentwicklung. Anton Kreuzkamp von KDAB sprach über maßgeschneidertes Code-Refactoring mit […]
A 3D Block Building Game in QML
Here, at KDAB, we get to spend 10% of our time on learning what we don’t know or practicing and improving what we already know. Recently, I decided to use that time to learn more about the Qt Quick Rendering Engine. The best way to do so, I found, is to use it in a […]
KDDockWidgets 1.3.0 Released QtQuick and PySide6 support, and more minor fixes
We’ve released KDDockWidgets 1.3.0! KDDockWidgets is a framework for custom-tailored docking systems in Qt. The main highlights for this release are PySide6 and experimental QtQuick support. The QtQuick backend isn’t production ready, but you can already build with -DKDDockWidgets_QTQUICK=ON, run the examples under examples/qtquick/dockwidgets/ and start reporting issues. Here’s the full list of changes: Experimental QtQuick […]
KDSingleApplication: a class for single-instance policy applications
Another day, another blog about some of KDAB’s utility classes. Now it’s the turn of KDSingleApplication, a class that helps implement applications that follow the single-instance policy. What is a single-instance policy? Single-instance policy refers to those applications that want to spawn a unique instance for a given user session. Even when launched multiple times, […]
The Power of CMake Presets
CMake 3.19 was officially released a couple of months ago, and one of the biggest – and most exciting – new features is the addition of presets. What are presets, you might ask, and why should we be excited about them? Presets are a bunch of pre-set CMake options that enable developers to ensure that […]
Getting your 3D Ready for Qt 6 compiling Qt 3D for Qt 6 and up
As was previously discussed, since the 6.0.0 release of Qt, Qt 3D no longer ships as a pre-compiled module. If you need to use it on your projects, try out the new features, or just see your existing application is ready for the next chapter of Qt’s life, you need to compile Qt 3D from […]
Beware of Qt Module-wide Includes Save the planet by reducing compilation times!
You know the drill: in C++ you need to #include header files that declare the types and functions from the libraries that you use. Qt is no exception in this regard. Qt follows a very nice convention for its own datatypes: if you need to use a type called QType, then use #include <QType>. This […]