Qt +百度地图+获取返回位置点

本文介绍了如何在Qt环境下,利用QtWebEngine与百度地图进行集成,通过QWebChannel实现JavaScript与Qt的双向通信。在迁移项目到MSVC2013过程中遇到的头文件引用问题得到解决,并详细说明了JavaScript中调用Qt的方法,以及在地图应用中遇到的自动加载问题的解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考文章: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
#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值