/*!
@~chinese
@file include/settings/dsettingsgroup.h
@ingroup dsettings

@class Dtk::Core::DSettingsGroup dsettingsgroup.h
@brief 一组DSettings选项的集合,也可以包含子组。

@fn Dtk::Core::DSettingsGroup::DSettingsGroup(QObject *parent = Q_NULLPTR)
@brief DSettingsGroup构造函数

@fn QPointer<DSettingsGroup> Dtk::Core::DSettingsGroup::parentGroup() const
@brief 获取当前组的父组
@return

@fn void Dtk::Core::DSettingsGroup::setParentGroup(QPointer< DSettingsGroup > parentGroup)
@brief 设置当前组的父组为 `parentGroup`

@fn QString Dtk::Core::DSettingsGroup::key() const
@brief 返回这个组的键,会包含全部的父组的键
@return 返回这个组的键,会包含全部的父组的键

@fn QString Dtk::Core::DSettingsGroup::name() const
@brief 返回这个组名称,它可能被翻译。
@return 返回这个组名称

@fn bool Dtk::Core::DSettingsGroup::isHidden() const
@brief 检查这个选项组是否会在界面上显示
@return true 表示则这个选项组会显示出来

@fn QPointer<DSettingsGroup> Dtk::Core::DSettingsGroup::childGroup(const QString &groupKey) const
@brief 返回给定键在选项组中对应的子组。`groupKey`子组的键
@return 返回子组的指针

@fn QPointer<DSettingsOption> Dtk::Core::DSettingsGroup::option(const QString &key) const
@brief 根据键值获取选项。`key`选项的完整键
@return 返回对应键值选项指针

@fn QList<QPointer<DSettingsGroup> > Dtk::Core::DSettingsGroup::childGroups() const
@brief 列出组下面所有的直接子组。
@return 返回所有子组指针列表

@fn QList<QPointer<DSettingsOption> > Dtk::Core::DSettingsGroup::childOptions() const
@brief 列出组下面所有的直接选项。
@return 返回所有子选项指针列表

@fn QList<QPointer<DSettingsOption> > Dtk::Core::DSettingsGroup::options() const
@brief 列出组下面所有的选项。
@return 返回所有选项指针列表

@fn QPointer<DSettingsGroup> Dtk::Core::DSettingsGroup::fromJson(const QString &prefixKey, const QJsonObject &group)
@brief 将json对象转化为DSettingsGroup。`prefixKey` 组键值前缀 `group` 待反序列化的json对象
@return 返回解析json后的组指针
@sa QPointer Dtk::Core::DSettingsOption

@fn void Dtk::Core::DSettingsGroup::parseJson(const QString &prefixKey, const QJsonObject &group)
@brief 将json对象转化为DSettingsGroup。`prefixKey` 组键值前缀 `group` 待反序列化的json对象
@sa QPointer<DSettingsOption> Dtk::Core::DSettingsGroup::fromJson(const QString &prefixKey, const QJsonObject &json)

*/
