DtkCore
DTK Core module
|
DSettings是设计上为Dtk的应用程序提供统一的配置存储以及界面生成工具的基础库。 更多...
#include <dsettings.h>
Public 槽 | |
void | sync () |
sync WARNING: sync will block | |
void | setOption (const QString &key, const QVariant &value) |
设置键值 | |
void | reset () |
重置键值 | |
信号 | |
void | valueChanged (const QString &key, const QVariant &value) |
Public 成员函数 | |
DSettings (QObject *parent=Q_NULLPTR) | |
DSettings构造函数 | |
void | setBackend (DSettingsBackend *backend=nullptr) |
设置存储后端 | |
QJsonObject | meta () const |
返回JSON对象 | |
QStringList | keys () const |
返回全部键值 | |
QList< QPointer< DSettingsOption > > | options () const |
返回全部 key 的值 | |
QPointer< DSettingsOption > | option (const QString &key) const |
获取 key 对应的值 | |
QVariant | value (const QString &key) const |
获取 key 对应的值 | |
QStringList | groupKeys () const |
返回子组全部键值 | |
QList< QPointer< DSettingsGroup > > | groups () const |
返回子组全部 key 的值 | |
QPointer< DSettingsGroup > | group (const QString &key) const |
DSettings::group将递归找到子组 | |
QVariant | getOption (const QString &key) const |
获取 key 对应的值 | |
静态 Public 成员函数 | |
static QPointer< DSettings > | fromJson (const QByteArray &json) |
从 json 中获取 DSettings,返回的数据使用之后需要自己手动释放。 | |
static QPointer< DSettings > | fromJsonFile (const QString &filepath) |
从 json 文件中获取 DSetting。 | |
DSettings是设计上为Dtk的应用程序提供统一的配置存储以及界面生成工具的基础库。
DSetting使用json作为应用配置程序的描述文件。简单来说,应用查询的配置分为组/键值二个基础层级, 对于一个标准的Dtk配置控件,一般只包含组/子组/键值三个层级,对于超过三个层级的键值,可以通过 DSettings的API接口进行读取和写入,但是不能在标准的DSettingsDialogs上显示出来。
一个简单的配置文件如下:
该组中包含一个base的root组,两个子组: open_action/new_tab_windows,每个子组有包含若干选项。 对于"New Window Open:"这个配置,其完整的访问id为base.new_tab_windows.new_window_path。
读取/设置其值的示例如下:
QPointer< DSettingsGroup > Dtk::Core::DSettings::group | ( | const QString & | key | ) | const |
DSettings::group将递归找到子组
|
slot |
sync WARNING: sync will block
开始进行同步