Right, Q_DECLARE_METATYPE is required for encapsulating the type in QVariant. qRegisterMetaType() is needed, if the QVariant needs to be created without calling fromValue().
Which is the case of a signal/slot connection using Qt::QueuedConnection (such as a cross-thread one).
Cheers,
_
Bookmarks