I have just asked a similar Questions: How to expose C++ structs for computations to Qml
It turned out, that there is no direct way. But if you look at the answear to that question, you will see, how we solved it.
We simply built a wrapper and made all relevant objects member of it. These member have their own properties, which they just forward via the wrapper.. Then you just have to manage the getter and setter to pass the values to the wrapper's members. For emitting objects from the members, you can introduce EmitterHelperObjects (just small objects, that inherit QObject and whose only task is to throw signals).
In some cases, you may need to register the pointer of the wrapper as MetaType. I haven't figured that out, for when I need to do that and when not.
So to sum the approach up:
You do not use the pointer directly, but access only their member's properties by using the Wrapper as "Property forwarder". Its a bit of typing, but works out quite well.
Personally, I dislike this side of Qt / Qml, this one Object one Identity stuff turns out to be ugly at some situations.
I know you have asked quite a while ago, but maybe it helps others.