DtkCore
DTK Core module
载入中...
搜索中...
未找到
dsettingsgroup.h
浏览该文件的文档.
1// SPDX-FileCopyrightText: 2016 - 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#pragma once
6
7#include <QObject>
8#include <QPointer>
9
10#include "dsettingsoption.h"
11
12#include "dtkcore_global.h"
13
14DCORE_BEGIN_NAMESPACE
15
16class DSettingsGroupPrivate;
17class LIBDTKCORESHARED_EXPORT DSettingsGroup : public QObject
18{
19 Q_OBJECT
20public:
21 explicit DSettingsGroup(QObject *parent = Q_NULLPTR);
23
24 QPointer<DSettingsGroup> parentGroup() const;
25 void setParentGroup(QPointer<DSettingsGroup> parentGroup);
26
27 QString key() const;
28 QString name() const;
29 bool isHidden() const;
30
31 QPointer<DSettingsGroup> childGroup(const QString &groupKey) const;
32 QPointer<DSettingsOption> option(const QString &key) const;
33
34 QList<QPointer<DSettingsGroup> > childGroups() const;
35 QList<QPointer<DSettingsOption> > childOptions() const;
36 QList<QPointer<DSettingsOption> > options() const;
37
38 static QPointer<DSettingsGroup> fromJson(const QString &prefixKey, const QJsonObject &group);
39
40private:
41 void parseJson(const QString &prefixKey, const QJsonObject &group);
42
43 QScopedPointer<DSettingsGroupPrivate> dd_ptr;
44 Q_DECLARE_PRIVATE_D(qGetPtrHelper(dd_ptr), DSettingsGroup)
45};
46
47typedef QPointer<DSettingsGroup> GroupPtr;
48
49DCORE_END_NAMESPACE
一组DSettings选项的集合,也可以包含子组。
Definition dsettingsgroup.h:18
DSettingsGroup(QObject *parent=Q_NULLPTR)
DSettingsGroup构造函数
bool isHidden() const
检查这个选项组是否会在界面上显示
QString key() const
返回这个组的键,会包含全部的父组的键
QPointer< DSettingsOption > option(const QString &key) const
根据键值获取选项。key选项的完整键
static QPointer< DSettingsGroup > fromJson(const QString &prefixKey, const QJsonObject &group)
将json对象转化为DSettingsGroup。prefixKey 组键值前缀 group 待反序列化的json对象
QPointer< DSettingsGroup > parentGroup() const
获取当前组的父组
QPointer< DSettingsGroup > childGroup(const QString &groupKey) const
返回给定键在选项组中对应的子组。groupKey子组的键
QList< QPointer< DSettingsOption > > childOptions() const
列出组下面所有的直接选项。
void setParentGroup(QPointer< DSettingsGroup > parentGroup)
设置当前组的父组为 parentGroup
QList< QPointer< DSettingsOption > > options() const
列出组下面所有的选项。
QList< QPointer< DSettingsGroup > > childGroups() const
列出组下面所有的直接子组。
QString name() const
返回这个组名称,它可能被翻译。