I want to load a (.qml) style file to a specific layer, I tried this:
layer = QgsProject.instance().mapLayersByName(layer_name)
if layer.wkbType() == QGis.WKBLineString:
layer.loadNamedStyle('styles/lines.qml')
layer.triggerRepaint()
Also, I tried this:
layer = QgsProject.instance().mapLayersByName(layer_name)
if layer.geometryType() == QgsWkbTypes.LineGeometry:
layer.loadNamedStyle('styles/lines.qml')
layer.triggerRepaint()
But I get this error:
if layer.wkbType() == QGis.WKBLineString:
# AttributeError: 'list' object has no attribute 'wkbType'
QGis.WKBLineString
was in QGIS old series 1.x and 2.x.layer.wkbType() == QGis.WKBLineString:
should be nowlayer.wkbType() == QgsWkbTypes.LineString
. See doc at qgis.org/api/… @ben-w has already answered for your overall issue