DtkCore
DTK Core module
载入中...
搜索中...
未找到
Dtk::Core::DSettingsBackend类 参考abstract

DSettingsBackend是一个配置存储类的接口 更多...

#include <dsettings.h>

类 Dtk::Core::DSettingsBackend 继承关系图:
Dtk::Core::DSettingsDConfigBackend Dtk::Core::GSettingsBackend Dtk::Core::QSettingBackend

信号

void optionChanged (const QString &key, const QVariant &value)
 DSettingsOption的值发生变化时发出的信号。
 
void sync ()
 私有信号,请勿使用。
 
void setOption (const QString &key, const QVariant &value)
 私有信号,请勿使用。
 

Public 成员函数

 DSettingsBackend (QObject *parent=Q_NULLPTR)
 DSettingsBackend构造函数
 
virtual QStringList keys () const =0
 返回全部键值
 
virtual QVariant getOption (const QString &key) const =0
 获取 key 对应的值
 
virtual void doSync ()=0
 开始进行同步
 

Protected 成员函数

virtual void doSetOption (const QString &key, const QVariant &value)=0
 设置key对应的值,并使用存储后端进行存储。
 

详细描述

DSettingsBackend是一个配置存储类的接口

简单的例子:

{
"groups": [{
"key": "base",
"name": "Basic settings",
"groups": [{
"key": "open_action",
"name": "Open Action",
"options": [{
"key": "alway_open_on_new",
"type": "checkbox",
"text": "Always Open On New Windows",
"default": true
},
{
"key": "open_file_action",
"name": "Open File:",
"type": "combobox",
"default": ""
}
]
},
{
"key": "new_tab_windows",
"name": "New Tab & Window",
"options": [{
"key": "new_window_path",
"name": "New Window Open:",
"type": "combobox",
"default": ""
},
{
"key": "new_tab_path",
"name": "New Tab Open:",
"type": "combobox",
"default": ""
}
]
}
]
}]
}

读取/设置其值的示例如下:

// 初始化一个存储后端
QTemporaryFile tmpFile;
tmpFile.open();
auto backend = new Dtk::Core::QSettingBackend(tmpFile.fileName());
// 从json中初始化配置
auto settings = Dtk::Core::DSettings::fromJsonFile(":/resources/data/dfm-settings.json");
settings->setBackend(backend);
// 读取配置
auto opt = settings->option("base.new_tab_windows.new_window_path");
qDebug() << opt->value();
// 修改配置
opt->setValue("Test")
qDebug() << opt->value();
static QPointer< DSettings > fromJsonFile(const QString &filepath)
从 json 文件中获取 DSetting。
QSetting后端,继承自DConfigBackend抽象接口,并实现了虚函数。
Definition qsettingbackend.h:16
参见
Dtk::Core::DSettingsOption
Dtk::Core::DSettingsGroup
Dtk::Core::DSettingsBackend
Dtk::Widget::DSettingsWidgetFactory
Dtk::Widget::DSettingsDialog

成员函数说明

◆ getOption()

QVariant DSettingsBackend::getOption ( const QString &  key) const
pure virtual

◆ keys()

QStringList DSettingsBackend::keys ( ) const
pure virtual

◆ optionChanged

void DSettingsBackend::optionChanged ( const QString &  key,
const QVariant &  value 
)
signal

DSettingsOption的值发生变化时发出的信号。

key 发生改变的 option 键,value对应键的值。


该类的文档由以下文件生成: