Leiten eines Javascript-Rückrufs an eine in C ++ aufgerufene Methode in Qml

n C ++ habe ich eine Klasse mit einer aufrufbaren Funktion. Ich würde diese Methode gerne von QML / Javascript aus aufrufen (das muss funktionieren) und einen JavaScript-Rückruf übergeben.

m Code definiere ich meine Klasse wie folgt:

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);
    }
};

Und in meiner QML möchte ich Folgendes tun:

Rectangle {

    function myCallback(x){
        console.log("x=" + x);
    }

    MouseArea{
        anchors.fill: parent
        onClicked:{
            myObject.doSomething(2, myCallback);
        }
    }
}

So dass, wenn ich auf das @ klicRectangle, Ich würde sehenx=3 in der Konsole. Wie würde ich den Parameter in C ++ definieren und den Rückruf aufrufen, um dies zu erreichen?

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage