DtkCore
DTK Core module
载入中...
搜索中...
未找到
dsettingsoption.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 <QVariant>
8#include <QObject>
9#include <QPointer>
10
11#include "dtkcore_global.h"
12
13DCORE_BEGIN_NAMESPACE
14
15class DSettingsGroup;
16class DSettingsOptionPrivate;
17class LIBDTKCORESHARED_EXPORT DSettingsOption : public QObject
18{
19 Q_OBJECT
20 Q_PROPERTY(QVariant value READ value WRITE setValue NOTIFY valueChanged)
21
22public:
23 explicit DSettingsOption(QObject *parent = Q_NULLPTR);
25
26 QPointer<DSettingsGroup> parentGroup() const;
27 void setParentGroup(QPointer<DSettingsGroup> parentGroup);
28
29 QString key() const;
30 QString name() const;
31 bool canReset() const;
32 QVariant defaultValue() const;
33 QVariant value() const;
34 QVariant data(const QString &dataType) const;
35
36 QString viewType() const;
37 bool isHidden() const;
38
39 static QPointer<DSettingsOption> fromJson(const QString &prefixKey, const QJsonObject &json);
40Q_SIGNALS:
41 void valueChanged(QVariant value);
42 void dataChanged(const QString &dataType, QVariant value);
43
44public Q_SLOTS:
45 void setValue(QVariant value);
46 void setData(const QString &dataType, QVariant value);
47
48private:
49 void parseJson(const QString &prefixKey, const QJsonObject &option);
50
51 QScopedPointer<DSettingsOptionPrivate> dd_ptr;
52 Q_DECLARE_PRIVATE_D(qGetPtrHelper(dd_ptr), DSettingsOption)
53};
54
55typedef QPointer<DSettingsOption> OptionPtr;
56
57DCORE_END_NAMESPACE
DSettingsOption是DSettings的基本单元,用于存放一对键-值数据。
Definition dsettingsoption.h:18
QVariant data(const QString &dataType) const
选项的附件data,用于未选项设置一些额外的辅助属性。
bool isHidden() const
检查选项是否会在界面上显示
static QPointer< DSettingsOption > fromJson(const QString &prefixKey, const QJsonObject &json)
从json对象中反序列化出一个选项对象
void setData(const QString &dataType, QVariant value)
为选项添加自定义属性
bool canReset() const
选项是否可以重置,如果可以重置,在调用reset方法后,选项的值会变成初始值。
void setValue(QVariant value)
设置选项的当前值.
QPointer< DSettingsGroup > parentGroup() const
当前选项的直接上级组
QString key() const
当前选项的键值
QString viewType() const
选项的控件类型
QVariant value() const
选项的当前值
QString name() const
当前选项的名称
void valueChanged(QVariant value)
选项的数据变化时发出改信息
DSettingsOption(QObject *parent=Q_NULLPTR)
DSettingsOption构造函数
QVariant defaultValue() const
选项的默认值
void dataChanged(const QString &dataType, QVariant value)
选项的附件的额外数据变化时发出改信息,可以看作这个值的属性发生变化。
void setParentGroup(QPointer< DSettingsGroup > parentGroup)
修改当前选项的上级组