Curious about how to programmatically instantiate arbitrary QML components? Explore a pure QML implementation of the factory pattern with this blog series. In part 3, we evaluate a technique for anchoring nested components, and how to mitigate the risk for remote code execution.
Qt Get the RSS Feed
QtTest Extension for VSCode Introducing QtTest Runner
Qt Test is a framework designed for unit testing applications and libraries built with Qt. It provides all the standard features commonly found in unit testing frameworks, making it easier to write unit tests for Qt-based projects. We’re happy to introduce the QtTest Runner – a Visual Studio Code extension for running Qt Tests via […]
KDDockWidgets 2.1 Released Stability, Fixes, and Enhancements
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 […]
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 algorithms […]
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 […]
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 […]