Qt Webkit Bridge:使用javascript调用C ++函数

时间:2015-05-10 10:50:34

标签: javascript c++ qt

您好我使用QT5使用QtCreator制作了HTML5应用程序。

我的main.cpp如下所示:

#include <QApplication>
#include "html5applicationviewer.h"

#include "sqlfunctions.h"

int main(int argc, char *argv[])
{
    sqlfunctions* obj = new sqlfunctions;

    QApplication app(argc, argv);

    Html5ApplicationViewer viewer;
    viewer.setOrientation(Html5ApplicationViewer::ScreenOrientationAuto);
    viewer.showExpanded();
    viewer.loadFile(QLatin1String("src/index.html"));
    viewer.setFixedSize(1200, 900);

    return app.exec();
}

我想要实现的是调用C ++函数来操作SQL数据库,例如当用户点击按钮时。

所以基本上我需要类似下面的内容(jQuery-quickhand):

$(document).ready(function(){
    $("#button").click(function(){
        mycppfunction();
    });
};)

我已在文档和此thread中阅读了有关问题和方法addToJavascriptWindowObject()的信息。但是,由于我没有QWebViewQWebFrame,我如何实际实现相同的功能,或重建应用程序以按照描述工作。

1 个答案:

答案 0 :(得分:0)

您想要添加的代码,以便使这项工作如下

QWebFrame *frame = viewer.webView()->page()->mainFrame();
QString objJavascriptName = "myObj";
frame->addToJavaScriptWindowObject(objJavascriptName, &obj);

Html5ApplicationViewer viewer;

之后添加此内容