KDAB’s newest open-source library is now publicly available: KDSPDSetup! KDSPDSetup is a small library written in modern C++ (≥ 20) that initializes objects from the spdlog library by reading a toml configuration file. This makes setting up loggers more convenient and results in cleaner-looking code. Let’s take a look at an example to see how […]
Blog Archives
Incredibly Simple QR Generation in QML Wrapping tiny JS libraries in QML to do quick and simple things effortlessly and elegantly.
The Need for Simple & Modular QR Generation in QML Recently, our designer Nuno Pinheiro needed to generate QR codes for an Android app in QML and started asking around about a simple way to do this. The best existing QML solution was QZXing, a Qt/QML wrapper for the 1D/2D barcode image processing library ZXing. […]
Qt 6 WASM: Uploading & Playing Back Audio Files Adapting to the limitations of the web platform and Qt Multimedia
This article walks through an implementation using C++11 or later, Qt 6.5 or later for WebAssembly (multithreaded), and CMake. The browser environment used was Mozilla Firefox 119.0.1 (64-bit) provided by the Mozilla Firefox snap package for Ubuntu. Overview & Motivation Lately, I’ve been working on a small Qt Widgets project to help manage some weekly […]
KDGpu v.0.1.0 is released a Vulkan wrapper to make modern graphics easier
We’re pleased to announce we’ve added a new library, KDGpu, to the arsenal of tools we invent to make our lives easier – and then share with you on KDAB’s GitHub. Who is this for? If you want to become more productive with Vulkan or learn the concepts of modern explicit graphics APIs, then KDGpu […]
QObjects, Ownership, propagate_const and C++ Evolution Const Correctness in Qt Applications
A very common implementation pattern for QObject subclasses is to declare its child QObjects as data members of type “pointer to child.” Raise your hand No, keep your hand on your computer input device 🙂 Nod if you have ever seen code like this (and maybe even written code like this yourself): A fairly common […]
JSONify All Things Extending the nlohmann/json Library
The nlohmann/json library is everything a developer can expect from a modern library — easy to integrate and JSON objects are treated as first class citizens with a very intuitive API. However, it has one problem that is widely mentioned across the internet, which I’ll tell you about below. Various solutions to the problem have […]
Automotive Grade Maps and Navigation for Everyone Technical Preview Release
It is our pleasure to introduce a shiny new Maps & Navigation solution for QML developers! This QML plugin is a joint effort between KDAB & General Magic to bring the excellent General Magic Maps and Navigation SDK to the QML world. What makes the General Magic QML plugin special? It’s easy to use. With […]
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 […]
Introducing KDDockWidgets An advanced docking framework for Qt
KDDockWidgets is an effort by KDAB to provide an advanced docking system for Qt that QDockWidgets doesn't support. Features include: nesting dock widgets in a floating window, docking to any main window, tab bar with detachable tabs, inner customizable helper widgets.
KDSoap 1.8.0 released lots of improvements and bug fixes since 1.7.0
KDAB has released a new version of KDSoap. This is version 1.8.0 and comes more than one year since the last release (1.7.0). KDSoap is a tool for creating client applications for web services without the need for any further component such as a dedicated web server. KDSoap lets you interact with applications which have […]