[Interest] QWidget + friends; How to restore properties across sessions?

Christoph Feck christoph at maxiom.de
Sat Aug 16 10:37:27 CEST 2014

On Friday 15 August 2014 21:48:08 Mark Gaiser wrote:
> Now i'm searching for alternatives to this approach to prevent
> handling the bookkeeping myself and still have the same result. For
> instance, would it be possible to have some function (in QObject or
> QWidget i guess) where you either:
> - Define which properties should be saved/restored across sessions,
> bookkeeping would be done internaly.
> - or just some "QObject::persistentSettings(bool)" function that -
> when true - saves any properties and restores them upon next
> request in a persistent manner.

Each QMetaObject has a userProperty() which identifies the value that 
the user can change in the object. To get a key for the settings file, 
you can use special objectName()s. For example, in Smaragd, I prefix 
any object that should have a persistent user property with "cm_" (for 
config manager). See code at [1].

In Skulpture, there are two older versions of this file, one of them 
uses QSettings[2] instead of KConfigGroup[3]. Those additionally 
handle oddities with combo boxes, but they do not use userProperty().


Christoph Feck
KDE Quality Team

More information about the Interest mailing list