22#include <QScopedPointer>
24#include "dtkcore_global.h"
28class DSettingsBackend;
31class DSettingsPrivate;
32class LIBDTKCORESHARED_EXPORT
DSettings :
public QObject
36 explicit DSettings(QObject *parent = Q_NULLPTR);
41 static QPointer<DSettings> fromJson(
const QByteArray &json);
42 static QPointer<DSettings> fromJsonFile(
const QString &filepath);
43 QJsonObject meta()
const;
45 QStringList keys()
const;
46 QList<QPointer<DSettingsOption>> options()
const;
47 QPointer<DSettingsOption> option(
const QString &key)
const;
48 QVariant value(
const QString &key)
const;
50 QStringList groupKeys()
const;
51 QList<QPointer<DSettingsGroup>> groups()
const;
52 QPointer<DSettingsGroup> group(
const QString &key)
const;
54 QVariant getOption(
const QString &key)
const;
57 void valueChanged(
const QString &key,
const QVariant &value);
65 void setOption(
const QString &key,
const QVariant &value);
69 void parseJson(
const QByteArray &json);
72 QScopedPointer<DSettingsPrivate> dd_ptr;
73 Q_DECLARE_PRIVATE_D(qGetPtrHelper(dd_ptr),
DSettings)
DSettingsBackend is interface of DSettings storage class.
Definition: dsettingsbackend.h:29
DSettings是设计上为Dtk的应用程序提供统一的配置存储以及界面生成工具的基础库.
Definition: dsettings.h:33