Passando um retorno de chamada Javascript para um método chamado C ++ em Qml
Em C ++, eu tenho uma classe com uma função invocável, o que eu gostaria de fazer é chamar esse método de QML / Javascript (isso eu comecei a trabalhar) e transmitir um retorno de chamada Javascript.
No código, eu defino minha classe 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);
}
};
E no meu QML, eu gostaria de fazer algo como:
Rectangle {
function myCallback(x){
console.log("x=" + x);
}
MouseArea{
anchors.fill: parent
onClicked:{
myObject.doSomething(2, myCallback);
}
}
}
Para que quando eu clicar noRectangle
, Eu veriax=3
no console. Como eu definiria o parâmetro em C ++ e chamaria o retorno de chamada para fazer isso?
Obrigado!