私はあなた方全員がその時点にいたと確信しています-たくさんの、かなり些細なアクセサを持っQ_OBJECT
たものを定義します:Q_PROPERTIES
class ORM_Customer : public QDjangoModel
{
Q_OBJECT
Q_PROPERTY(QString firstname READ firstname WRITE setFirstname)
Q_PROPERTY(QString lastname READ lastname WRITE setLastname)
Q_PROPERTY(QString phone READ phone WRITE setPhone)
Q_PROPERTY(QString address1 READ address1 WRITE setAddress1)
Q_PROPERTY(QString address2 READ address2 WRITE setAddress2)
Q_PROPERTY(QString houseno READ houseno WRITE setHouseno)
Q_PROPERTY(QString postcode READ postcode WRITE setPostcode)
[... snip ...]
}
たくさんのアクセサがすべてそのように見えます:
QString ORM_Customer::firstname() const { return m_firstname; }
QString ORM_Customer::lastname() const { return m_lastname; }
void ORM_Customer::setFirstname(QString &n) { m_firstname = n; }
void ORM_Customer::setLastname(QString &n) { m_lastname = n; }
QDjangoModelがMetaObjectイントロスペクションを使用していることを考えると、ここでは動的プロパティに依存することはできません(静的プロパティが好きです)-質問は、手作業を節約するツールはありますか?
Qt Creatorには、デフォルトのアクセサーとそれぞれのプライベート変数を宣言して定義するオプションがないようです。他に何かありますか?それは確かに私だけよりも多くの開発者を悩ませたに違いありません。
それとも、他の人が使用している別の開発パターンがありますか?