可以使用QgsPalLayerSettings设置标签沿线绘制属性,如下所示:
layer = QgsProject.instance().mapLayersByName('myLayer')[0] settings = QgsPalLayerSettings()
settings.placement = QgsPalLayerSettings.Curved
settings.fieldName = 'Name' settings.enabled = True settings.bufferDraw = True settings.bufferColor = QColor(255,255,255,255) settings.bufferSize = 2 settings.drawBackground = True settings.backgroundColor = QColor(0,0,0,100) settings.transparency = 50
layer.setLabeling(QgsVectorLayerSimpleLabeling(settings)) layer.setLabelsEnabled(True) layer.triggerRepaint()