文章目录

  • 前言
  • 一、工程创建
  • 二、地图显示
    • 1.pro文件更改
    • 2.载入地图显示
    • 3.特别注意
  • 总结

前言

当qt5+MSVC环境搭建成功和将baidumap.html,qwebchannel.js准备好之后,我们可以开始进行开发啦,不过在此之前,你可能需要学习一下QT5知识,在这里是默认你会一定的Qt知识与JavaScript知识。


一、工程创建

首先新建一个qt项目,这个就不赘述了。建好之后如图所示:

在其根目录下放入baidumap.html,qwebchannel.js文件。如图:
还是要注意上一个文档中的,你的秘钥要改复制粘贴为你自己的秘钥。
当然,其实QT里面也可以编辑JavaScript代码的,在接下来的QT与JS的通信操作中,需要再baidumap.html里面写js代码。

二、地图显示

1.pro文件更改

添加webenginewidgets模块,也可以把两个文档添加进来,直接用右键添加工程文档即可。.pro文件内容如图,其实就是修改了QT += core gui webenginewidgets这一行。

QT       += core gui webenginewidgetsgreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0SOURCES += \main.cpp \mainwindow.cppHEADERS += \mainwindow.hFORMS += \mainwindow.ui# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

2.载入地图显示

直接上代码吧。
mainwindow.h文件

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include<QtWebEngineWidgets/QWebEngineView>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();
protected:void resizeEvent(QResizeEvent *event);
private:Ui::MainWindow *ui;QWebEngineView *map;
};
#endif // MAINWINDOW_H

mainwindow.cpp文件。

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QDir>
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);map = new QWebEngineView(this);//加载HTML文件QDir temDir("C:/Users/16198/Desktop/LearnToA/C++Learn/QTCode/day9/map/baidumap.html");QString absDir = temDir.absolutePath();QString filePath = "file:///" + absDir;//显示地图map->page()->load(QUrl(filePath));}
MainWindow::~MainWindow()
{delete ui;
}
void MainWindow::resizeEvent(QResizeEvent *event)
{map->resize(this->size());
}

这样就能显示了,其中resizeEvent事件的功能是使地图铺满整个界面。注意其中的baidumap.html文件地址更改成自己的就行。
运行结果:

3.特别注意


必须改为Release!!!,个人认为最容易掉这个坑了,当时我一直以为是自己代码写错了。

模式 含义
Debug Debug 通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发人员提供 强大的应用程序调试能力。在程序出现错误的时候,在debug模式下通过设置断点来调试程序。
Release Release通常称为 发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试。所以不保存调试信息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。

总结

加载地图实现还是比较简单的,但还是需要把代码的整个过程理解清楚,下一步就是实现qt与js交互。

QT5百度地图开发学习——地图显示相关推荐

  1. QT5百度地图开发学习——qt调用JavaScript函数并传参

    文章目录 前言 一.通信桥梁bridge 二.QT与JS相互通信(调用函数) 1.QT调用js函数 前言 在上文<QT5百度地图开发学习--控件提升展示地图>中,我们通过控件提升的方式在同 ...

  2. QT5百度地图开发学习——qt调用输入位置坐标位置进行百度地图定位

    系列文章目录 上一章: QT5百度地图开发学习--JavaScript调用qt函数并传参给qt 文章目录 系列文章目录 前言 一.界面设计 二.槽函数 总结 前言 本文实现输入坐标然后在地图上显示位置 ...

  3. Android学习 - 百度地图开发基础

    什么是百度地图API? 百度地图移动版API(Android)是一套基于Android 1.5及以上设备的应用程序接口,通过该接口,您可以轻松访问百度服务和数据,构建功能丰富.交互性强的地图应用程序. ...

  4. 基于Android的百度地图开发

    参考资料: android studio获得SHA1的值,然后在百度地图移动版API官网申请key Android Studio怎么查看程序的安全码获取SHA1值? http://www.codese ...

  5. [android] 百度地图开发 (二).定位城市位置和城市POI搜索

    一. 百度地图城市定位和POI搜索知识       上一篇文章"百度地图开发(一)"中讲述了如何申请百度APIKey及解决显示空白网格的问题.该篇文章主要讲述如何定位城市位置.定位 ...

  6. Android 百度地图开发(三)--- 实现比例尺功能和替换自带的缩放组件

    转载请注明出处:http://blog.csdn.net/xiaanming/article/details/11821523 貌似有些天没有写博客了,前段时间在忙找工作的事,面试了几家公司,表示反响 ...

  7. Android 百度地图开发(二)

    前面我们一起了解了百度地图的申请与集成Android 百度地图开发(一),今天我们接着来学习百度地图. 今天主要来了解如下问题: 1.百度地图的生命周期控制 上一篇张我们已经在布局文件里增加了mapV ...

  8. Android百度地图开发入门教程

    Android百度地图开发入门教程 1.平台注册登录 2.创建应用 3.Android studio配置 4.代码编写 5.最终效果(建议真机) 1.平台注册登录 登录百度地图开放平台网站注册并登录 ...

  9. 百度地图开发之——百度地图鹰眼轨迹管理台DEMO-v3部署到服务器上

    百度地图开发官方下载口:https://github.com/baidu-openmap-trace/web-demo-v3 第一:部署准备 搭建NPM和FIS3的环境 1.安装node.js:htt ...

最新文章

  1. python的执行效率没有c语言高,Python代码优化
  2. 辰星计划 2021 | 璀璨起航,旷视春季实习生招募开启
  3. HTML 代码常用技巧
  4. 文巾解题 面试题 01.03. URL化
  5. 在ASP.NET Core微服务架构下使用数据库切分和扩展, 并用JMeter进行负载测试
  6. html调用js页面显示不出来了,JS代码文件调用显示乱码,直接写在html页面的里可以调用,但是单独放在js文件里不能调用...
  7. CentOS FTP服务(vsftpd)配置
  8. mysql禁止自动优化_MySQL必须调整的10项配置优化
  9. 数据库备份、还原的处理
  10. 六石管理学:培训重点应该是工作技能
  11. 4600u黑苹果 r5_黑苹果集显hd4400、hd4600显卡Clover引导驱动方法教程
  12. 网络安全攻防实验室通关教程-脚本关
  13. 冒泡排序——《图解算法》
  14. MC33063电源啸叫
  15. (HG模块,简洁明了)Hourglass Module介绍
  16. 中国医科大计算机在线作业答案,16秋中国医科大学《计算机应用基础(中专起点大专)》在线作业标准答案包100分...
  17. 支付宝转账又出新方法:悬浮条自动识别输入,避免失误尴尬
  18. 网络调试助手TCP server不能成功连接
  19. 川大计算机考研英语要求,请问如果考研,四川大学的英语要求高么??属于哪..._考研_帮考网...
  20. Java基础入门第二章答案

热门文章

  1. 求互质数对的两种方法:欧拉函数和容斥原理
  2. Beam Search 简介
  3. Firefox OS应用程序入门
  4. 木兰在线英语词典 -- 溯源拆分记单词
  5. 动态创建表,并批量入库表数据(字段在程序运行之前未知)
  6. GateWay简介及使用
  7. 多传感器融合定位三-3D激光里程计其三:点云畸变补偿
  8. 生命的意義在你的内心
  9. Mysql报文理解mtu拆包依据(tso/gro)
  10. python统计小说人物出现次数_使用python统计《三国演义》小说里人物出现次数前十名,并实现可视化。...