9#include <QScopedPointer>
11#include "dtkcore_global.h"
15class DSettingsBackend;
18class DSettingsPrivate;
19class LIBDTKCORESHARED_EXPORT
DSettings :
public QObject
28 static QPointer<DSettings>
fromJson(
const QByteArray &json);
33 QList<QPointer<DSettingsOption>>
options()
const;
34 QPointer<DSettingsOption>
option(
const QString &key)
const;
35 QVariant
value(
const QString &key)
const;
38 QList<QPointer<DSettingsGroup>>
groups()
const;
39 QPointer<DSettingsGroup>
group(
const QString &key)
const;
44 void valueChanged(
const QString &key,
const QVariant &value);
52 void setOption(
const QString &key,
const QVariant &value);
56 void parseJson(
const QByteArray &json);
59 QScopedPointer<DSettingsPrivate> dd_ptr;
60 Q_DECLARE_PRIVATE_D(qGetPtrHelper(dd_ptr),
DSettings)
DSettingsBackend是一个配置存储类的接口
Definition dsettingsbackend.h:16
DSettings是设计上为Dtk的应用程序提供统一的配置存储以及界面生成工具的基础库。
Definition dsettings.h:20
QStringList keys() const
返回全部键值
QVariant value(const QString &key) const
获取 key 对应的值
static QPointer< DSettings > fromJson(const QByteArray &json)
从 json 中获取 DSettings,返回的数据使用之后需要自己手动释放。
void setBackend(DSettingsBackend *backend=nullptr)
设置存储后端
QPointer< DSettingsOption > option(const QString &key) const
获取 key 对应的值
QStringList groupKeys() const
返回子组全部键值
DSettings(QObject *parent=Q_NULLPTR)
DSettings构造函数
QVariant getOption(const QString &key) const
获取 key 对应的值
static QPointer< DSettings > fromJsonFile(const QString &filepath)
从 json 文件中获取 DSetting。
QList< QPointer< DSettingsGroup > > groups() const
返回子组全部 key 的值
QList< QPointer< DSettingsOption > > options() const
返回全部 key 的值
QJsonObject meta() const
返回JSON对象
QPointer< DSettingsGroup > group(const QString &key) const
DSettings::group将递归找到子组
void setOption(const QString &key, const QVariant &value)
设置键值
void sync()
sync WARNING: sync will block