1.新建多线段图层
QgsVectorLayer * vl = new QgsVectorLayer(QStringLiteral("MultiLineString?crs=EPSG:32649"), QStringLiteral("vl"), QStringLiteral("memory"), QgsVectorLayer::LayerOptions(QgsCoordinateTransformContext()));
QList< QgsMapLayer * > layers;
layers << vl;
QgsProject::instance()->addMapLayers(layers);
QgsVectorLayer *vv = qobject_cast<QgsVectorLayer *>(vl);
2.启动编辑
vl->startEditing();
3.新建多线段
QList<QgsFeature> QListQgsFeature;
QgsPolygonXY xxS;
QgsPointXY xy;
xy.set(0,0);
QgsPointXY xy1;
xy1.set(1,0);
QgsPointXY xy2;
xy2.set(1,2);
QgsPolylineXY ss;
ss << xy;
ss << xy1;
ss << xy2;
QgsPolygonXY xxS;
xxS <<ss ;
QgsGeometry PolygonGeometry = QgsGeometry::fromMultiPolylineXY(xxS);
QgsFeature feature;
feature.setGeometry(PolygonGeometry);
QListQgsFeature << feature;
vv->addFeatures(QListQgsFeature);