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数据库,将之拷贝到项目构建目录下即可

安装目录:

构建目录:


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM