In recent years, a lot has been happening to improve performance, maintainability and tooling of QML. Some of those improvements can only take full effect when your code follows modern best practices. Here are 10 things you can do in order to modernize your QML code and take full advantage of QML’s capabilities. 1. Use […]
KDAB on Qt Get the RSS Feed
Posts about Qt, for feeds like planetqt and planetkde
KD Reports 2.3.0 The Latest Release After Two Years
We’re pleased to announce the release of KD Reports 2.3.0, the latest version of our reporting tool for Qt applications. This marks our first major update in two years, bringing several bug fixes and new features that further improve the experience of generating reports. What is KD Reports? KD Reports is a versatile tool for […]
Implementing an Audio Mixer, Part 2 Basic DSP with Qt Multimedia
Recap In Part 1, we covered PCM audio and superimposing waveforms, and developed an algorithm to combine an arbitrary number of audio streams into one. Now we need to use these ideas to finish a full implementation using Qt Multimedia. Using Qt Multimedia for Audio Device Access So what do we need? Well, we want […]
Implementing an Audio Mixer, Part 1 Basic DSP with Qt Multimedia
Motivation When using Qt Multimedia to play audio files, it’s common to use QMediaPlayer, as it supports a larger variety of formats than QSound and QSoundEffect. Consider a Qt application with several audio sources; for example, different notification sounds that may play simultaneously. We want to avoid cutting notification sounds off when a new one […]
Qt and Trivial Relocation (Part 5) Trivial Relocation and Standard C++
In the previous posts of this series (if you’ve missed them: parts 1, 2, 3, and 4), we have learned about relocation and trivial relocation. We have explored what relocation means, what trivial relocation means, and how it can be used to optimize the implementation of certain data structures, such as the reallocation of a […]
Formatting Selected Text in QML Quasi-Backporting Qt 6.7 QML cursorSelection to Older Versions
Motivation Let’s say we’re working on a QML project that involves a TextEdit. There’s some text in it: here is some text We want to select part of this text and hit ctrl+B to make it bold: here is some text In Qt Widgets, this is trivial, but not so much in QML – we […]
Behind the Scenes of Embedded Updates
An over-the-air (OTA) update capability is an increasingly critical part of any embedded product to close cybersecurity vulnerabilities, allow just-in-time product rollouts, stomp out bugs, and deliver new features. We’ve talked about some of the key structural elements that go into an embedded OTA architecture before. But what about the back end? Let’s address some […]
The Smarter Way to Rust
If you’ve been following our blog, you’re likely aware of Rust’s growing presence in embedded systems. While Rust excels in safety-by-design, it’s also common to find it integrated with C++. This strategic approach leverages the strengths of both languages, including extensive C++ capabilities honed over the years in complex embedded systems. Let’s delve into some […]
Anchoring Qt Quick Components Instantiated with JSON Factory Design Techniques - Parts 3 & 4
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.
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 […]