DtkCore
DTK Core module
|
一些宏的定义. 更多...
#include <>>
Protected 成员函数 | |
DObject (DObject *parent=nullptr) | |
只有在不需要数据成员的派生类中才会使用 parent 父类指针 | |
DObject (DObjectPrivate &dd, DObject *parent=nullptr) | |
在派生类中比较常用的构造函数 dd 私有类对象 | |
Protected 属性 | |
QScopedPointer< DObjectPrivate > | d_d_ptr |
一些宏的定义.
\inmodule dtkcore
\inmodule dtkcore
deepin-tool-kit 中所有公开类的祖先类.
通过和 D_DECLARE_PRIVATE 、D_DECLARE_PUBLIC 等宏的配合方便派生类中实现 D-Point 结构。虽然 QObject 中已经有了这样的实现结构,但是没有 办法在不使用 Qt 私有模块的情况下,在 DTK 库中达到同样的目的。D-Point 结构由“公共接口类” 和“私有数据类”两部分组成,在 DTK 中,DObjectPrivate 是所有数据类的祖先类。在这种结构下, 只有 DObject 这个基类中定了一个指向于私有数据类的对象指针,派生类中不会也不应该再定义任何 成员变量,派生类中需要添加数据成员时,可以继承 DObjectPrivate,将新的成员变量放到私有类中
例子:
a.h
a.cpp
一般来讲,DObject 只会用在 DTK 库中定义的类,对于使用 DTK 库的应用程序来说不用关心它的存在