Qgis 基於Qt環境下的開發:第一節《加載矢量圖層》


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);

}

實現效果如下圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM