Qt Creator + QGIS 环境配置

步骤参考 https://zhuanlan.zhihu.com/p/83805300

其中main.cpp不清晰,还原后如下:

main.cpp

#include "mainwindow.h"
#include <QApplication>
#include <QMessageBox>
#include <QDir>

#define _USE_MATH_DEFINES
#include <math.h>

#include <qgsapplication.h>
#include <qgsmapcanvas.h>
#include <qgsvectorlayer.h>
#include <qgsproviderregistry.h>

int main(int argc, char *argv[])
{
    QString cpath = QDir::currentPath();
    qputenv("GDAL_DATA", "C:\\OSGeo4W64\\share\\gdal");

    QgsApplication a(argc, argv, true);

    QgsApplication::initQgis();

    MainWindow w;
    QgsMapCanvas* canvas = new QgsMapCanvas();
    w.setCentralWidget(canvas);
    QString path = "D:\\Tools\\Qt\\QtProjects\\qgis_try3\\ne_10m_ocean\\ne_10m_ocean.shp";
    QgsVectorLayer *layer = new QgsVectorLayer(path, "ne_10m_ocean", "ogr");
    if (!layer->isValid())
    {
        QMessageBox::information(&w, "error", layer->error().message());
    }
    QList<QgsMapLayer *> layers;
    layers.append(layer);
    canvas->setLayers(layers);
    w.show();
    canvas->zoomToFullExtent();

    return a.exec();
}

 

posted @ 2020-10-11 21:02  _Cheung  阅读(661)  评论(0编辑  收藏  举报