Ich muss ein JavaScript-Framework mit QWebKit neu implementieren. Momentan war es mir erfolgreich, C++ - Methoden von JavaScript aus aufzurufen, aber jetzt muss ich einen JavaScript-Callback registrieren und ihn von C++ aus aufrufen können.So senden Sie eine JavaScript-Funktion an C++, und rufen Sie sie später
Im ursprünglichen System (erstellt mit WebkitGTK) habe ich eine C-Funktion erstellt, die ein Objekt als Parameter erhalten hat. Dieses Objekt war die JavaScript-Funktion, die als Callback aufgerufen werden sollte. Ein Beispiel:
bool cb_function(param1, param2) {
alert("This is the callback, called with "+param1);
}
my_c_class.set_callback(cb_function);
Hier definiere ich die * cb_function * Rückruf, und an den zugrunde liegenden Rahmen senden. Dann habe ich in C mit JSObjectCallAsFunction() die JavaScript-Funktion immer dann aufgerufen, wenn ich dazu einige Parameter gesendet habe.
Was ich wissen muss, ist, wie dies mit QtWebKit stattdessen zu tun ist. Ich nehme an, dass der erste Teil eine Q_INVOKABLE-Methode (in diesem Fall * set_callback *) verwenden muss, die einen QObject- oder QVariant-Parameter empfängt. Ist das richtig?
Und nun der zweite Teil: Wie kann ich aus C++ die in diesem QObject oder QVariant gespeicherte Funktion aufrufen?
Danke !!!