参考文章:https://blog.youkuaiyun.com/u014281970/article/details/82110446
https://blog.youkuaiyun.com/liuyez123/article/details/50509788
https://blog.youkuaiyun.com/shareTM/article/details/55260207
前言
由于从javascript中获取信息要通过QWebChannel所以将之前做的整体从mingw搬移到MSVC2013环境中,但依旧使用creator。
正文
Qt中的QtWebEngine实现与网页的互动
需要提的一点事,我直接加载头文件时,尽然时报错的
#include <QtWebEngineWidgets/QWebEngineView>
#include <QtWebEngineWidgets/QtWebEngineWidgets>
在试了很多之后,加上这个尽然通过了,我也不知道其中原理,就纪一下吧
通过QWebEngine加载显示页面
QWebEngineView *webview = new QWebEngineView;
QString sUrl = "file:///D:/new 2.html";
webview->load(sUrl);
webview->show();
访问javascript中的函数
float lat = ui->latEdit->text().toFloat();
float lon = ui->lonEdit->text().toFloat();
QString cmd = QString("doLocal(%1, %2)").arg(lon).arg(lat);
//doLocal为javascript中定义的函数
ui->widget->page()->runJavaScript(cmd);
从JavaScript中调用Qt
通过QWebChannel定义一个中间类 IneractObject
通过这个类实现双方的调用,如果不想多写一个类,也可以直接把自身作为桥梁
https://blog.youkuaiyun.com/u014281970/article/details/82110446,这里面的方法
IneractObject.h
#ifndef INERACTOBJECT_H
#