Qgis ,gis,ArcGis 的用法大致相同,今天針對Qgis(地理信息系統)做一個簡單的開發。
搭建環境就不用講了,博客園 ,CSDN等有很多介紹的方法。
第一步配置文件
第二步要在main.cpp添加路徑格式,添加Qgis單例
接下來就是我們的代碼實現了:
#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);
}
實現效果如下圖: