Pasar una devolución de llamada de Javascript a un método invocado de C ++ en Qml
En C ++ tengo una clase con una función invocable, lo que me gustaría hacer es llamar a ese método desde QML / Javascript (esto me ha funcionado) y pasarle una devolución de llamada de Javascript.
En código, defino mi clase como:
class MyObject: public QObject
{
Q_OBJECT
public:
Q_INVOKABLE void doSomething(quint64 x, /* what goes here? */ jsCallback)
{
x += 1;
// I suspect this will require a invocation mechanism but
// this shows what I'd like to do
jsCallback(x);
}
};
Y en mi QML, me gustaría hacer algo como:
Rectangle {
function myCallback(x){
console.log("x=" + x);
}
MouseArea{
anchors.fill: parent
onClicked:{
myObject.doSomething(2, myCallback);
}
}
}
Para que cuando haga clic en elRectangle
, Yo veríax=3
en la consola ¿Cómo definiría el parámetro en C ++ e invocaría la devolución de llamada para lograr esto?
¡Gracias!