2011-10-07 368 views
0

我正在尝试使用QGIS API和预定义的QGIS项目文件创建Windows窗体控件,以便我可以在Windows窗体控件上设置X和Y属性,并且QGIS API将显示预定义的地图数据该控件集中于提供的坐标。使用QgsProject :: instance() - > read()似乎会导致一个未处理的异常(访问冲突读取位置0x00000000),所以我试图通过实际的代码逐行选择。还有,随着从项目文件中提取层,然后将其添加到地图上的帆布,上面写着交易qgsproject.cpp的一部分:QGIS:QgsVectorLayer和QgsRasterLayer的默认构造函数?

QgsMapLayer *mapLayer = null; 
if(type=="vector") 
    mapLayer = new QgsVectorLayer; 
else if(type==""raster") 
    mapLayer = new QgsRasterLayer; 

其中Type是元素“类型”属性的值。

当我尝试在我的Visual Studio项目中进行编译时,它抱怨没有任何类型的地图图层的默认构造函数。唯一可用于我的构造函数需要路径和基名,并且似乎并不实际工作(因此,尝试使用与gui相同的方法,因为项目文件在完整的应用程序gui中加载)。

QgsRasterLayer的默认构造函数甚至不是私有成员函数。有谁知道我会如何去做这个编译?

感谢, 里克

回答