qml调用html中函数,javascript - How to call HTML function from QML - Stack Overflow

这篇博客探讨了如何在QML中调用HTML页面的reload函数。作者展示了如何使用QtWebChannel在QML和HTML之间建立通信,并成功从HTML调用QML函数。然而,遇到的问题是在QML中无法反向调用HTML的reload函数。文章详细阐述了已实现的代码片段和当前存在的问题。
摘要由CSDN通过智能技术生成

I want to call reload function in HTML from QML. I can call a QML function from HTML as in following code.

QML file:

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 file:

var color = 1;

var webChannel;

function init() {

color = 5;

};

function createChannel(lat) {

new QWebChannel(qt.webChannelTransport, function (channel) {

webChannel = channel.objects.myQmlObj;

webChannel.someSignal.connect("someSignal");

webChannel.someFoo("someFoo");

});

}

function reload(id) {

color = id;

}

Like i can call someFoo() from HTML, But i can't call reload function of HTML from my qml.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值