QgsVectorLayer* layer = new QgsVectorLayer("Polygon?crs=epsg:4326&field=id:integer&field=name:string(20)", "myLayer", "memory"); QgsFeature feature; QgsGeometry* geometry = QgsGeometry::fromWkt("POLYGON((-106 43,-105 43,-105 44,-106 44,-106 43))"); feature.setGeometry(geometry); feature.setAttributes(QgsAttributes() << 1 << "myFeature"); layer->dataProvider()->addFeatures(QList() << feature); QgsMapLayerRegistry::instance()->addMapLayer(layer);
QgsVectorLayer* layer = new QgsVectorLayer("path/to/myExistingLayer.shp", "myExistingLayer"); if (layer->isValid()) { QgsFeatureIterator iterator = layer->getFeatures(); while (iterator.hasNext()) { QgsFeature feature = iterator.next(); QVariantMap attributes = feature.attributeMap(); qDebug() << attributes.value("id").toInt() << attributes.value("name").toString(); } }Package library: The QgsVectorLayer class is part of the QGIS API library.