Qt加载百度地图和谷歌地图

Qt中加载网页,需要用到这个QWebView这个类,就可以将网页加载出来。

首先,使用Qt时,现在Qt的*.pro文件中加上这一句QT   +=  webkit


然后需要包含这个头文件

#include 

需要链接Qt5WebKitWidgetsd.libQt5WebKitWidgets.lib这个库,前面的是debug版,后面的是release版,这里面需要去链接下,否则地图加载不出来。

加载网页或者地图就三步:第一步:先实例化一个QWebView(view)对象(也可以直接在ui中选取),

第二步:然后使用view.load(QUrl("你的网页地址")));

第三步:调用show(view.show());

就可以将网页加载出来了。

具体来看代码的实现:

widget.cpp

#include "widget.h"
#include "ui_widget.h"
#include "config.h"
#include 
#include 
#include 

#if _DEBUG
#pragma comment(lib,"Qt5WebKitWidgetsd.lib")
#else
#pragma comment(lib,"Qt5WebKitWidgets.lib")
#endif

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    QString qstrmaptype = Config().Get("map","map_type").toString();
    QString qstrurl;
    QString qstrfilepath;
    if(qstrmaptype == "google")
    {
        qstrfilepath = QFileInfo("./googlemap.html").absoluteFilePath();
    }
    else if(qstrmaptype == "baidu")
    {
        qstrfilepath = QFileInfo("./baidumap.html").absoluteFilePath();
    }

    qstrurl = QString("file:///%1").arg(qstrfilepath);
    ui->webView->load(QUrl(qstrurl));
    ui->webView->show();
}

Widget::~Widget()
{
    delete ui;
}
上面的代码是通过配置文件来选取加载哪个地图,可以是谷歌和百度。只需要修改配置文件即可,配置文件部分,可以看我的 Qt读写配置文件之QSettings的用法这里不细说了。

baidumap.html




	
	
	
	
	地图展示



googlemap.html





    
    
	
    
    
	


 


地图加载的效果图;

百度地图:

Qt加载百度地图和谷歌地图_第1张图片

google地图加载效果图:


Qt加载百度地图和谷歌地图_第2张图片

资源链接地址:点击打开链接

欢迎大家加我的群:460952208

你可能感兴趣的:(Qt-C++)