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 = QCoreAppl