В С++ у меня есть класс с invokable функцией, то, что я хотел бы сделать, это вызвать этот метод из QML/Javascript (это я начал работать) и передать ему обратный вызов Javascript.
В коде я определяю свой класс следующим образом:
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);
}
};
И в моем QML я хотел бы сделать что-то вроде:
Rectangle {
function myCallback(x){
console.log("x=" + x);
}
MouseArea{
anchors.fill: parent
onClicked:{
myObject.doSomething(2, myCallback);
}
}
}
Итак, когда я нажимаю на Rectangle
, я вижу x=3
в консоли. Как я могу определить параметр в С++ и вызвать обратный вызов, чтобы выполнить это?
Спасибо!