QGIS二次开发:矢量图层分类渲染(QgsCategorizedSymbolRenderer)
QgsCategorizedSymbolRenderer 分类渲染器
QGIS矢量图层可以根据指定字段,渲染不同颜色:
//字段索引
int fieldIdx = pLayer->fields().indexOf("Type");
//该字段对应的所有属性值
QSetset = pLayer->uniqueValues(fieldIdx);
QVariantList list = unique.toList();
//不同值渲染不同色
QgsCategoryList categories = QgsCateforizedSymbolRenderer::createCategories(list, QgsSymbol::defaultSymbol(pLayer->geometryType()), pLayer, "Type");
for(auto iter=categories.begin(); iter!=categories.end(); ++iter)
{
iter->symbol()->setColor(yourColor);
}
//初始化渲染器,并赋给图层 std::unique_ptrrenderer = qgis::make_unique ("Type", categories);
pLayer->setRenderer(renderer->clone());
转载链接:qgis二次开发矢量图层根据指定字段绘制类别_kingcrab0710的博客-CSDN博客_qgis二次开发绘图