Modifica larghezza tratto di un poligono PyQGIS
Sto cercando di impostare la larghezza dei contorni del lago su zero o di cambiare il colore in azzurro, poiché non voglio vedere il contorno nero. Il file vettoriale è un Polygon (MultiPolygon) denominato vlayer2 e ho provato i seguenti comandi:
vlayer2.setStrokeWidth(0)
vlayer2.setStrokeColor([49,179,245])
vlayer2.setWidth(0)
Ma ricevo sempre il messaggio: '' AttributeError: l'oggetto 'QgsVectorLayer' non ha attributo '....' ''

Risposte
I metodi che si sta tentando di utilizzare appartengono alla classe QgsSimpleMarkerSymbolLayer . Devi accedere al livello dei simboli del renderer del tuo livello vettoriale prima di poter chiamare questi metodi.
Quanto segue dovrebbe funzionare per impostare il colore del tratto, tenendo presente che è necessario passare un QColor
oggetto a questo metodo:
vlayer2.renderer().symbol().symbolLayer(0).setStrokeColor(QColor(49, 179, 245))
vlayer2.triggerRepaint()
In alternativa, puoi impostare lo stile del tratto su "Nessuna penna". L'impostazione della larghezza su 0 darà comunque una larghezza "attaccata ai capelli".
vlayer2.renderer().symbol().symbolLayer(0).setStrokeStyle(Qt.PenStyle.NoPen)
vlayer2.triggerRepaint()
Consiglio vivamente di controllare il PyQGIS Developer Cookbook che contiene molti esempi utili.