Hi Simon yes that worked, didn’t know about Q_MOC_INCLUDE
Thanks! PS: seems Creator’s syntax highlighter doesn’t know about it either :) > On 27 Apr 2020, at 11:08, Simon Hausmann <[email protected]> wrote: > > Hi, > > I think the solution may involve keeping forward-declarations but adding > visibility to the "other" types in moc generated code by using Q_MOC_INCLUDE > in A to include B and vice versa. Does that make sense? > > > Simon > From: Development <[email protected]> on behalf of Mike Krus > via Development <[email protected]> > Sent: Monday, April 27, 2020 11:52 > To: Qt Development Group <[email protected]> > Subject: [Development] Circular dependencies for Q_PROPERTY > > Hi > > I have 2 classes, A and B, derived from QObject, each have a property > of type pointer-to-other-class. So > > class A : public QObject { > Q_PROPERTY(B *foo …) > … > }; > > And: > > class B : public QObject { > Q_PROPERTY(A *foo …) > … > }; > > Because of the circular dependency, I can’t #include the full class > definition, just do forward declaration. > > Now this fails in Qt 6, seems the moc generated code needs the > full class declaration. > > Looking at generated moc code, looks like creating the meta object > requires a qt_metaTypeArray<A*, bool> which checks that A derives > from QObject by calling IsPointerToTypeDerivedFromQObject > which uses sizeof() which requires the full type. > > Any way around this? Seems like a rather big regression compared > to Qt 5… > > > Mike > > — > Mike Krus | [email protected] | Senior Software Engineer > KDAB (UK) Ltd., a KDAB Group company > Tel: UK Office +44 1625 809908 Mobile +44 7833 491941 > KDAB - The Qt Experts, C++, OpenGL Experts — Mike Krus | [email protected] | Senior Software Engineer KDAB (UK) Ltd., a KDAB Group company Tel: UK Office +44 1625 809908 Mobile +44 7833 491941 KDAB - The Qt Experts, C++, OpenGL Experts
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Development mailing list [email protected] https://lists.qt-project.org/listinfo/development
