static QString _getLayerSvgMarkerPath( const QgsProject &prj, const QString &layerName ) { QList<QgsMapLayer *> layers = prj.mapLayersByName( layerName ); Q_ASSERT( layers.count() == 1 ); Q_ASSERT( layers[0]->type() == QgsMapLayerType::VectorLayer ); QgsVectorLayer *layer = qobject_cast<QgsVectorLayer *>( layers[0] ); Q_ASSERT( layer->renderer() ); Q_ASSERT( layer->renderer()->type() == "singleSymbol" ); QgsSingleSymbolRenderer *r = static_cast<QgsSingleSymbolRenderer *>( layer->renderer() ); QgsSymbol *s = r->symbol(); Q_ASSERT( s && s->symbolLayerCount() == 1 ); Q_ASSERT( s->symbolLayer( 0 )->layerType() == "SvgMarker" ); QgsSvgMarkerSymbolLayer *sl = static_cast<QgsSvgMarkerSymbolLayer *>( s->symbolLayer( 0 ) ); return sl->path(); }