次のクラスを検討してください。
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; }
...
};
プロパティ値にアクセスすると、クラス B のメソッドではなく、クラス A のメソッドが直接呼び出されます。
これまでのところ、この明らかな制限を回避するために、プロパティ コードを複製し、各クラスからのシグナルを接続しました。
これが最善の解決策ですか?
(同じ名前のプロパティが原因で) 潜在的な問題が発生することはありますか?