// 在加载图层后添加样式 if (vectorLayer->geometryType() == Qgis::GeometryType::Polygon) { QgsFillSymbol* symbol = QgsFillSymbol::createSimple({ {"color", "0,0,255,128"}, // 填充色蓝色半透明 {"style", "solid"}, // 实心填充 {"outline_color", "0,0,0,200"}, // 边框黑色半透明 {"outline_width", "0.26"}, // 边框宽度0.5mm {"outline_style", "solid"} // 边框实线 }); vectorLayer->setRenderer(new QgsSingleSymbolRenderer(symbol)); } else if (vectorLayer->geometryType() == Qgis::GeometryType::Line) { QgsLineSymbol* symbol = QgsLineSymbol::createSimple({ {"line_color", "0,0,255,128"}, // RGBA蓝色半透明 {"line_width", "0.26"}, // 线宽0.8mm {"line_style", "solid"}, // 实线 {"capstyle", "round"}, // 线端圆角 {"joinstyle", "round"} // 连接点圆角 }); vectorLayer->setRenderer(new QgsSingleSymbolRenderer(symbol)); } else { // Point QgsMarkerSymbol* symbol = QgsMarkerSymbol::createSimple({ {"name", "circle"}, // 形状为圆形 {"color", "0,0,255,128"}, // RGBA格式(蓝色,50%透明度) {"size", "2.0"}, // 大小5mm {"outline_color", "0,0,0,200"}, // 黑色半透明边框 {"outline_width", "0.26"} // 边框宽度0.5mm }); vectorLayer->setRenderer(new QgsSingleSymbolRenderer(symbol)); }