Some time ago, I wrote a post about integrating Qt’s associative containers with the fancy new C++ features, range-based for loops with structured bindings. That post inspired KDAB’s own Giuseppe D’Angelo to add the asKeyValueRange member function to both QHash and QMap. Now it’s possible to iterate over them with a simple range-based for loop, […]
Blog Archives
Say No to Qt Style Sheets Making the Right Choice Between QStyle and Qt Style Sheets, Upfront
You have two choices when it comes to giving a custom style to your Qt widgets. Qt Style Sheets are very convenient for getting started — just a few CSS-like rules, and they work. It is our experience, however, that Qt Style Sheets create too much trouble and a QStyle subclass (*) gives a better […]
CXX-Qt Safe Rust Bindings for Qt
At KDAB, we have been investigating how to integrate Rust with Qt in a safe and idiomatic way. The solution we are currently working on is called CXX-Qt. It’s available in the GitHub and on crates.io. This blog post discusses the journey of CXX-Qt — where it started, where it can be used right now, […]
Qt Allstack II – Adding Firebase
Qt Allstack I – Setup Creating a Realtime Mobile Chat App
Loose Coupling with Signals & Slots Connecting (Almost) Any Function to a Signal
Here at KDAB, we recently published a library called KDBindings, which aims to reimplement both Qt signals and slots and data binding in pure C++17. To get an introduction to the KDBindings implementation of signals and slots, I recommend that you take a look at the KDBindings Getting Started Guide. It will give you an […]
Introducing KDBindings Reactive Programming and Data Binding in C++
All Qt developers should know about signals, slots, and properties. Those of you who have used QML will know that property bindings are super useful and cool. Bindings allow us to write more reactive and declarative style code. However, they are only available within QML, which means there are no compile time errors when you […]
Heaptrack v1.3.0 Release
Version 1.3.0 of the KDE Heaptrack project was just released by KDAB’s Milian Wolff. Heaptrack is a heap memory profiler on Linux-based operating systems. It can help you find hotspots that need to be optimized for reducing memory usage, memory leaks, allocation hotspots, and temporary allocations. Included in this release is a special new feature […]
KDFunctionalSortFilterProxyModel A Functional Sort/Filter Proxy Model
Another day, another small addition to KDToolBox, KDAB’s collection of miscellaneous useful C++ classes and stuff. In this post, we’re going to talk about KDFunctionalSortFilterProxyModel, which is a convenience subclass of QSortFilterProxyModel. What’s a proxy model to begin with, and what’s QSortFilterProxyModel? Well, that explanation requires a bigger space than what I have in this […]
KDDockWidgets 1.5.0 Released
We just released KDDockWidgets 1.5.0! What is KDDockWidgets? KDDockWidgets is a development framework for custom-tailored docking systems in Qt, to use when you need advanced docking that is not supported by QDockWidgets. It was created by Sergio Martins as a time-saving alternative to QDockWidgets. The ease-of-use of KDDockWidgets can save you lots of frustration […]