Qt5.9.4 + QGIS3.10.8二次开发时遇到的一些问题记录

1、将qt5.9.4中的mysql数据库驱动拷贝到项目对应目录(release\plugins\sqldrivers)下时

虽然能找到mysql驱动,但是和qgis的版本不兼容!

解决方法:将qgis目录D:\QGIS3.10.8\OSGeo4W64\apps\Qt5\plugins\sqldrivers中的驱动拷贝到
项目release\plugins\sqldrivers目录下。

2、转换点的坐标系失败,代码:

    QgsCoordinateReferenceSystem * crsSrc = new QgsCoordinateReferenceSystem("EPSG:4326");
    QgsCoordinateReferenceSystem * crsDest = new QgsCoordinateReferenceSystem("EPSG:3857");
    QgsCoordinateTransformContext transformContext = QgsProject::instance()->transformContext();
    QgsCoordinateTransform * xform =new QgsCoordinateTransform(crsSrc, crsDest, transformContext);
    QgsPointXY myPoint = QgsPointXY(116,40);
    QgsPointXY  pt1 = xform->transform(myPoint);

查找qgis数据库路径
qDebug() << QgsApplication::srsDatabaseFilePath();
qDebug() << QgsApplication::qgisUserDatabaseFilePath();
初始化QgsCoordinateReferenceSystem对象时需要用到srs.db数据库,将之拷贝到项目构建目录下即可

安装目录:

构建目录:

posted @ 2020-09-07 17:19  丶丿漫步  阅读(937)  评论(0编辑  收藏  举报