| 
                             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
开始进行同步