A while ago I wanted to implement save and load for an application.
The application model was a QObject derived class, with a bunch of sub (-sub) classes. As the UI was QML, everything was accessible through properties.
Instead of writing a save and load mechanism for every single class, I was able to write one generic save load mechanism.
This can be done using QObject introspection/reflection. So the class name, properties and member functions can be queried.