I have a JavaScript function in QML which creates and returns a component (Item):
function addMyComponent() {
var component = Qt.createComponent('MyComponent.qml');
var obj = component.createObject(container, {'x': 0, 'y': 0});
return obj; // Not sure weather to return obj or component for my C++ to use
}
I also have some QML in main.qml which is using a custom C++ class I have made:
// ...
import com.acidic.customclass 1.0
import "AddMyComponent.js" as AddMyComponent
ApplicationWindow {
visible: true
width: 1280
height: 800
CustomClass {
id: customClass
}
Button {
onClicked: {
customClass.receiveComponent(AddMyComponent.addMyComponent)
}
}
}
And my C++ class header:
Q_INVOKABLE void receiveComponent(const QObject& obj /* QObject ref doesn't work */);
and body:
void CustomClass::receiveComponent(const QObject& obj) {
qDebug(obj.property("width")); // To see if we have received it correctly
}
How can I parse a component created with JavaScript and Qt.createComponent into my custom C++ class' function parameter?
Q_INVOKABLE void receiveComponent(QObject* pObj);.