在线提供的教程都没有显示如何创建Qt HTML5应用程序.理想情况下,我只需要一种方法来在webkit和Qt之间发送数据(字符串可以做).
当我创建一个Qt HTML5应用程序时它生成
那么如何在C++中添加一个与浏览器通信的函数呢?如何在浏览器中添加一个与C++通信的函数呢?
Ale*_*lex 17
这个例子很旧但仍然有用,非常简单和干净.
您也可以查看qtwebkit-bridge和教程.
编辑
添加一个名为的文件 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);
};
添加一个名为的文件 myclass.cpp
#include <QDebug>
#include <QGraphicsWebView>
#include <QWebFrame>
#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++");
}
在你的.pro添加
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;