我敢肯定你们所有人都在那个时候 - 定义一个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 似乎没有选择只声明和定义一些默认访问器及其各自的私有变量.. 还有什么?它肯定会困扰更多的开发人员,而不仅仅是我自己。
或者也许只是其他人使用的另一种开发模式?