Ich bin sicher, dass alle von Ihnen an diesem Punkt waren -, die ein Q_OBJECT
eine Tonne Q_PROPERTIES
, alle mit ziemlich trivial Accessoren tragen:QT Eigenschaften - syntaktischer Zucker oder Entwicklungstools
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 ...]
}
mit einer Tonne von Accessoren alle auf der Suche wie folgt aus:
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; }
da QDjangoModel metaObject Selbstbeobachtung verwendet, kann ich hier nicht auf die dynamischen Eigenschaften verlassen (außer, wie ich statische Eigenschaften) - Frage ist, gibt es irgendwelche Werkzeuge, die mir das Handbuch speichern würde Arbeit?
Qt Creator scheint nicht die Option zu haben, nur einige Standard-Accessoren und ihre jeweiligen privaten Variablen zu deklarieren und zu definieren. Sonst noch etwas? Es muss sicherlich mehr Entwickler als nur mich gestört haben.
Oder gibt es vielleicht noch ein anderes Entwicklungsmuster, das andere benutzen?
Ja, das hat mich immer gestört. Q_PROPERTY ist mir immer als Zucker begegnet. Sie könnten immer ein QVariantMap-Mitglied mit generischen Get/Set-Funktionen haben. Oder, wenn Sie möchten, eine benutzerdefinierte 'enum' mit einem Member' QHash '. –
Phlucious
Der einzige Fall, in dem ich Q_PROPERTY in Erwägung ziehen würde, ist die Entwicklung eines Plugins für Designer. – Phlucious