关于Q_PROPERTY的疑问?(急)
在进行自定义部件时,
///////// 一 /////////
class IconEditor : public QWidget
{
Q_OBJECT
private:
QColor curColor;
.
.
public:
QColor penColor() const
{ return curColor; }
void setPenColor(const QColor &newColor);
};
我这样给类添加了属性方法。
///////// 二 /////////
class IconEditor : public QWidget
{
Q_PROPERTY(QColor penColor READ penColor WRITE setPenColor);
private:
QColor curColor;
.
.
public:
QColor penColor() const
{ return curColor; }
void setPenColor(const QColor &newColor);
};
Q_PROPERTY 看文档了解是利用这个宏声明了三个自定义属性,每个属性的数据类型,读函数,写函数。
有点迷糊了,按我 一 那样做,已经跟类添加了属性方法,那为何还要弄个Q_PROPERTY来在声明了?
这样做是为了什么? 这样声明有什么好处?
求解释和相关资料。。在此感谢!