I haven't worked with COM or ActiveQt, but if the object is stored as a IUnknown in the QVariant, then just extract it as such and then use whatever API is provided for working with COM interfaces on that pointer.
I.e. the QVariant is just a transport wrapper, like an envelope. You take the transported item out of the envelope and forget about the envelope.
Cheers,
_
Bookmarks