KDDockWidgets has launched its latest version 2.1. This release comes packed with over 500 commits, offering enhanced stability over its predecessor, version 2.0, without introducing any breaking changes. KDDockWidgets is a versatile framework for custom-tailored docking systems in Qt written by KDAB’s Sérgio Martins. For more information about its rich set of features, have a […]
KDAB on Qt Get the RSS Feed
Posts about Qt, for feeds like planetqt and planetkde
Qt and Trivial Relocation (Part 4) On trivial relocation and move assignments
In the last post of this series we learned that: erasing elements from the middle of a vector can be implemented, in general, via a series of move assignments, move constructions, swaps, destructions for types with value semantics, the exact strategy does not really matter for types with write-through reference semantics, the strategy matters, because […]
Qt and Trivial Relocation (Part 3) Trivial relocability for vector erasure, and types with write-through reference semantics
In the last post of this series we started exploring how to erase an element from the middle of a vector. We discussed that in principle there are several different possible ways to implement erase().For instance, a vector could move-assign over the elements to be erased: Alternatively, a vector could use rotations or some other […]
Laying Out Components with Qt Quick and JSON Factory Design Techniques - Part 2
Did you know you can programmatically instantiate arbitrary QML components? Dive into a pure QML implementation of the factory pattern with this blog series. In part 2, we explore techniques for laying out the nested components, and learn about the quirks behind QML's Loader.
Qt and Trivial Relocation (Part 2) Relocation and Erasure
In the last post of this series we discussed the usage of trivial relocation in order to optimize move construction followed by the destruction of the source. To quickly recap: objects of certain datatypes (“trivially relocatable” types) can be moved in memory by simply moving bytes; this can be used to optimize certain bulk operations […]
Qt and Trivial Relocation (Part 1) What is relocation?
The container classes introduced in Qt 4 (Tulip, for the aficionados) had an interesting optimization: the ability to turn certain operations on the contained objects into byte-level manipulations. Example: vector reallocation Consider the reallocation of a QVector<T>: when the vector is full and we want to insert a new value (of type T), the vector […]
C++ & Rust, Servo Web & Qt, Qt Quick & JSON, Embedded – blogs & videos, Hotspot 1.5, Qt 6.7, GCompris in India, Events
Welcome to April’s Newsletter from KDAB It must be spring! Blogs are sprouting out all over 🌱 😊 We kick off with Part 3 of Mixing C++ and Rust for Fun and Profit, followed by Embedding the Servo Web Engine in Qt and Recursive Instantiation with Qt Quick and JSON. Then […]
Hotspot v1.5.0 released The Linux perf GUI for Performance Analysis
Hotspot is a standalone GUI designed to provide a user-friendly interface for analyzing performance data. It takes a perf.data file, parses and evaluates its contents, and presents the results in a visually appealing and easily understandable manner. Our goal with Hotspot is to offer a modern alternative to perf report, making performance analysis on Linux […]
Recursive Instantiation with Qt Quick and JSON Factory Design Techniques - Part 1
Recently I was tasked to come up with an architecture for remote real time instantiation and updating of arbitrary QML components. This entry shows how you can use a simple variation of the factory method pattern in QML for instantiating arbitrary components. I’ve split my findings into 3 blog entries, each one covering a slightly […]
Embedding the Servo Web Engine in Qt Using CXX-Qt to integrate a web rendering engine written in Rust
With the Qt WebEngine module, Qt makes it possible to embed a webview component inside an otherwise native application. Under the hood, Qt WebEngine uses the Chromium browser engine, currently the de facto standard engine for such use cases. While the task of writing a brand new standard-compliant browser engine is infamous as being almost […]