ich verwende QWebkit um eine (interne) Htmlseite anzuzeigen. Auf dieser Webseite würde ich gerne per Javascript versschiedene Signale mit "Slots" im Javascript-Code verknüpfen. Kann mir jemand verraten wie ich das hin bekomme?
Was ich habe:
Javascript
Code: Alles auswählen
var ConfigSignalHandler = {
// This is the method which i like to get called on signal "saved"
saved: function(ok) {
if (ok) {
alert("Config saved!");
} else {
alert("Failed to save config!");
}
}
}
function ctest() {
// config is a QObject which i registered to javascript with QWebFrame::addToJavaScriptWindowObject
// this call is working, i see my qDebug() output
config.save();
}
// "2saved(bool)" is what SLOT(saved(bool)) would have returned
// "1saved(bool)" is what SIGNAL(saved(bool)) would have returned
qwin.connect(config, "2saved(bool)", ConfigSignalHandler, "1saved(bool)");
Code: Alles auswählen
// Javascript won't pass strings as char* so we need to make a wrapper with QString
bool MainWindowImpl::connect(QObject* sender, QString signal, QObject* receiver, QString method) {
return QObject::connect(sender, signal.toStdString().c_str(), receiver, method.toStdString().c_str());
}
Hat jemand eine Idee wie ich das noch lösen kann? Wichtig ist nur dass der Code auf C++/QT-Seite generisch ist, ich also alleine durch Javascript neue Signale verbinden und verarbeiten kann.
Danke Tobi
PS: Das ganze hab ich auf englisch auchschon hier gepostet: http://www.qtforum.org/article/28395/we ... cript.html