Собственно сабж. Решил на досуге поиграться с qt && js, сделал пару набросков по примерам в гугле: main.cpp
#include <QtCore>
#include <QtGui>
#include <QtWebKit>
#include <QWebView>
#include <QWebFrame>
#include <QObject>
int main(int argc, char* argv[]){
QApplication app(argc, argv);
QWebView *view = new QWebView;
Foo foo;
view->load(QUrl("file:///home/userx/qwe/test.html"));
QObject::connect(view, SIGNAL(loadFinished(bool)), &foo, SLOT(loadFinished(bool)));
view->show();
return app.exec();
}
#include "myfunc.h"
Foo::Foo(QObject* parent) :QObject(parent)
{
}
void Foo::loadFinished(bool){
QVariant f1result = ((QWebView*)sender())->page()->mainFrame()->evaluateJavaScript("f1('test param')");
qDebug() << f1result.toString();
};
QVariant Foo::Send(QString s){
QString to_send = "f1('"+s+"')";
qDebug()<<"We send: "+to_send;
return ((QWebView*)sender())->page()->mainFrame()->evaluateJavaScript(to_send);
}
#include <QtGui>
#include <QApplication>
#include "myfunc.h"
#ifndef MYFUNC_H
#define MYFUNC_H
#include <QObject>
#include <string>
//Для поддержки сигналов и слотов наследуем QObject
class Foo: public QObject {
Q_OBJECT
public:
//Конструктор
Foo(QObject* parent = 0);
QVariant Send(QString txt);
public slots:
void loadFinished(bool);
};
#endif
P.S. test.html http://paste.org.ru/?v6sa1g