Qgis 基于Qt环境下的开发:第一节《加载矢量图层》

Qgis ,gis,ArcGis 的用法大致相同,今天针对Qgis(地理信息系统)做一个简单的开发。

搭建环境就不用讲了,博客园 ,****等有很多介绍的方法。

第一步配置文件Qgis 基于Qt环境下的开发:第一节《加载矢量图层》
Qgis 基于Qt环境下的开发:第一节《加载矢量图层》

第二步要在main.cpp添加路径格式,添加Qgis单例Qgis 基于Qt环境下的开发:第一节《加载矢量图层》

接下来就是我们的代码实现了:

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <qgsmapcanvas.h>
#include <qgsvectorlayer.h>
#include <QList>
#include <QHBoxLayout>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);


    //创建一个画布
    QgsMapCanvas *canvas= new QgsMapCanvas(this);
    //设置画布大小为当前窗口大小
    canvas->resize(this->size());
    //添加矢量图层路径
    QString path = "D:/JIETU/bbb.shp";
    //创建一个矢量图层
    QgsVectorLayer *layer1 = new QgsVectorLayer(path,"","ogr");
    //创建一个链表来存放图层
    QList<QgsMapLayer *> layers;
    //将图层追加到链表中
    layers.append(layer1);

    //将图层画到画布上
    canvas->setLayers(layers);
    //设置画布缩放
    canvas->zoomToFullExtent();
    //添加布局
    QHBoxLayout *layout = new QHBoxLayout(this);
    layout->addWidget(canvas);

}

实现效果如下图:
Qgis 基于Qt环境下的开发:第一节《加载矢量图层》