Мне нужно переопределить фреймворк JavaScript, используя QWebKit. В настоящее время я успешно вызываю методы C ++ из JavaScript, но теперь мне нужно зарегистрировать обратный вызов JavaScript и иметь возможность вызывать его из C ++.
В исходной системе (созданной с использованием WebkitGTK) я построил функцию C, которая получила объект в качестве параметра. Этот объект был функцией JavaScript, которая должна быть вызвана как обратный вызов. Пример:
bool cb_function(param1, param2) {
alert("This is the callback, called with "+param1);
}
my_c_class.set_callback(cb_function);
Здесь я определяю обратный вызов * cb_function * и отправляю его в базовую структуру. Затем в C я использовал JSObjectCallAsFunction () для вызова функции JavaScript всякий раз, когда мне нужно, отправляя ей некоторые параметры.
Мне нужно знать, как это сделать с помощью QtWebKit. Я предполагаю, что первая часть должна использовать метод Q_INVOKABLE (в данном случае вызываемый * set_callback *), который получает параметр QObject или QVariant. Это правильно?
А теперь вторая часть: как я могу вызвать из C ++ функцию, хранящуюся в этом QObject или QVariant?
Спасибо !!!