编辑
添加一个名为myclass.h
#include "html5applicationviewer/html5applicationviewer.h"
class MyClass : public Html5ApplicationViewer
{
Q_OBJECT
public:
explicit MyClass(QWidget *parent=0);
private slots:
void addToJavaScript();
public slots:
QString test(const QString ¶m);
};
文件在您.pro添加一个名为myclass.cpp
#include
#include
#include
#include "myclass.h"
MyClass::MyClass(QWidget *parent) : Html5ApplicationViewer(parent) {
QObject::connect(webView()->page()->mainFrame(),
SIGNAL(javaScriptWindowObjectCleared()), SLOT(addToJavaScript()));
}
void MyClass::addToJavaScript() {
webView()->page()->mainFrame()->addToJavaScriptWindowObject("MyClass", this);
}
QString MyClass::test(const QString ¶m) {
qDebug() << "from javascript " << param;
return QString("from c++");
}
文件添加
SOURCES += main.cpp myclass.cpp
HEADERS += myclass.h
在.html添加
try {
alert(MyClass.test("test string"));
} catch(err) {
alert(err);
}
在main.cpp添加包括:
#include "myclass.h"
和变化:
Html5ApplicationViewer viewer;
到:
MyClass viewer;