考虑这些类:
Class A : public QObject {
...
Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged)
virtual int value() { return m_value; }
void setValue(int v) { m_value = v; Q_EMIT valueChanged();}
...
};
Class B : public A {
...
int value() { return m_value * 2; }
...
};
当访问属性值时,直接调用 A 类方法而不是 B 类方法。
到目前为止,为了解决这个明显的限制,我复制了属性代码并连接了每个类的信号。
这是最好的解决方案吗?
有没有人看到潜在的问题(由于具有相同名称的属性)?