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 […]
Technical Get the RSS Feed
C++23 Will Be Really Awesome (a blog for April Fools Day)
C++23 is feature complete and on track to be released next year. While many people are complaining that it’s, after all, a “minor” release (as the pandemic made the Committee work very difficult), C++23 still has a few very significant changes. In this blog post, I want to talk about what I think is my […]
The Qt Less Traveled Fixing Bugs in Qt's Lesser-used Features, for Profit (and fun!)
Qt is a high quality library, but it is also massive in number of features. This massive number results in a higher likelihood that there are bugs that go unnoticed lying around in its less frequently used features or combination of features. Our friends at qgis.org hired us to solve some of those issues that had […]
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
A series of tutorials on building a simple mobile chat application with push notifications, using a REST API powered by Cutelyst, an async database to store conversations and Firebase for notifications.
Qt Allstack I – Setup Creating a Realtime Mobile Chat App
A series of tutorials on building a simple mobile chat application with push notifications, using a REST API powered by Cutelyst, an async database to store conversations and Firebase for notifications.
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 […]
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 […]
KDE Frameworks – Part 2 Extra CMake Modules for Enhancing Your CMake Code
Qt provides a rich set of high-quality, cross-platform APIs, but can't cover every possible use case. KDE has created code to fill these gaps in its many projects, sharing these libraries as KDE Frameworks.