Conference | Live Schedule | Talks | Get your ticket | Set your timezone
Reimplementing Signals, Slots, Properties and Bindings from Qt in pure C++17
Leon Matthes
On Day 3 at 14:00 (CET/Berlin) in Track B [Opal Room and online]
Signals, slots, properties and data binding are the fundamental principles that allow Qt developers to easily react to events in their code base and to never miss updating a cached value.
However, not all of these powerful features have been available to the wider C++ audience... until now!
KDBindings brings the power of data binding to the masses. With a pure C++17 implementation, it allows developers to easily create computed values that are updated if any of the inputs change.
Additionally, signals and slots can be used to model events that any part of the software can react to. This way they provide a modular way to decouple and compose objects.
All of this is now available under the very permissive MIT license!
This talk will start with an introduction on the importance of signals, slots, properties and data bindings.
Next we will demonstrate the power of KDBindings with a few usage examples that also highlight how easy it is to use the library. Here we will also highlight the power of deferred evaluation, a feature that we feel unlocks great potential for performance optimizations.
We will then give a very brief overview of how KDBindings works internally for those who are interested, while mentioning some key limitations to our implementation, such as the fact that it is not thread safe in the same way that Qt signals and slots are.
Finally we will show people where they can get the code and how to use it in a project.
Please login to comment