C++ (Qt)Q_PROPERTY(double angle READ angle WRITE setAngle NOTIFY angleChanged)..const QMetaObject *mo = o->metaObject();int idx = mo->indexOfProperty("angle");Q_ASSERT_X(idx >= 0,"bind", "property not found");QMetaProperty p = mo->property(idx);Q_ASSERT_X(p.isValid() && p.isReadable() && p.isWritable() && p.hasNotifySignal(), "bind", "invalid property declaration");QMetaMethod sig = p.notifySignal();//а дальше хотелось бы чего-нибудь типа QObject::connect(o, sig, receiver, SLOT(dispatch()));
C++ (Qt)QObject::connect(o, sig.signature(), receiver, SLOT(dispatch()));
C++ (Qt)struct Q_CORE_EXPORT QMetaObject{ const char *className() const; const QMetaObject *superClass() const; QObject *cast(QObject *obj) const;... // internal index-based connect static bool connect(const QObject *sender, int signal_index, const QObject *receiver, int method_index, int type = 0, int *types = 0); // internal index-based disconnect static bool disconnect(const QObject *sender, int signal_index, const QObject *receiver, int method_index); // internal slot-name based connect static void connectSlotsByName(QObject *o);