Some days ago, I tried to write some codes like you. It does not work very well. I find that it's wrong in this way.
if you call :
qmlRegisterType<Object1>("com.test.object1", 1, 0, "Object1");
then you can use Object1 in qml file as Rectangle , Image, Text and so on, Object1 is only a type before you use it in qml. such as Object1{id:object_1}
The following code, you write:
Object1 *object1 = new Object1();
view.rootContext()->setContextProperty("myObject1",object1);
works good, but if you call the method of object1, the method must be Q_INVOKABLE