如何从QML调用HTML函数

时间:2017-04-20 12:23:45

标签: javascript html qt qml qtwebengine

我想从QML中调用HTML中的 reload 函数。我可以从HTML中调用QML函数,如下面的代码所示。

QML文件:

exists()

HTML文件:

import QtQuick 2.5
import QtQuick.Window 2.2
import QtWebEngine 1.0
import QtWebChannel 1.0

Window {
    visible: true
    width: 640
    height: 480

    QtObject {
        id: myQmlObj

        WebChannel.id: "myQmlObj";

        signal someSignal(string msg);

        function someFoo(msg) {
            console.log(msg);
        }
    }

    WebEngineView {
        id: view
        anchors.fill: parent
        url: "myHtml.html"

        WebChannel {
           id: webChannel
           registeredObjects: [myQmlObj]
        }
    }
}

就像我可以从HTML调用someFoo(),但我不能从我的qml中调用HTML的重载函数。

1 个答案:

答案 0 :(得分:1)

您可以按以下方式调用runJavaScript函数

function callHtmlFunction(){
    view.runJavaScript("reload("+ color +")");
}