Qt基础之十八:WebEngine与JavaScript交互
Posted 草上爬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt基础之十八:WebEngine与JavaScript交互相关的知识,希望对你有一定的参考价值。
Qt从5.6开始就用Qt Webengine替换了Qt WebKit,据说加载速度较Qt WebKit更快。
需在pro中添加QT += webenginewidgets
一.效果
二.实现
1.javascript调用C++函数
新建一个继承自QObject的类Exchange
在MainWindow中定义成员变量QWebChannel *m_channel;作为和web通信的数据通道
在MainWindow中定义成员变量Exchange *m_exchange,作为JavaScript调用C++函数的桥梁
①加载网页
void MainWindow::loadhtml()
m_channel = new QWebChannel(this);
m_channel->registerObject("CaoShangPa", m_exchange);// 这里注册对象名"CaoShangPa"需要与JS函数用到的名称一致
ui->htmlWebView->page()->setWebChannel(m_channel);
QString htmlPath = QCoreApplication::applicationDirPath() +"/html/index.html";
ui->htmlWebView->load(QUrl("file:///"+htmlPath));//或ui->htmlWebView->page()->load()
ui->htmlWebView->s
以上是关于Qt基础之十八:WebEngine与JavaScript交互的主要内容,如果未能解决你的问题,请参考以下文章