def createRenderer(self): renderer = QgsCategorizedSymbolRenderer() renderer.setClassAttribute('Name') cf1 = QgsCentroidFillSymbolLayer() cf1.setSubSymbol( QgsMarkerSymbol.createSimple({ 'color': '#33aa33', 'outline_style': 'no', 'size': '5' })) sym1 = QgsFillSymbol([cf1]) cf2 = QgsCentroidFillSymbolLayer() cf2.setSubSymbol( QgsMarkerSymbol.createSimple({ 'color': '#aa33aa', 'outline_style': 'no', 'size': '5' })) sym2 = QgsFillSymbol([cf2]) renderer.addCategory(QgsRendererCategory('Dam', sym1, 'Dam')) renderer.addCategory(QgsRendererCategory('Lake', sym2, 'Lake')) return renderer
def createRenderer(self): renderer = QgsCategorizedSymbolRenderer() renderer.setClassAttribute('Value < 12') cf1 = QgsCentroidFillSymbolLayer() cf1.setSubSymbol( QgsMarkerSymbol.createSimple({ 'color': '#aa1111', 'outline_style': 'no', 'size': '8' })) sym1 = QgsFillSymbol([cf1]) cf2 = QgsCentroidFillSymbolLayer() cf2.setSubSymbol( QgsMarkerSymbol.createSimple({ 'color': '#1111dd', 'outline_style': 'no', 'size': '8' })) sym2 = QgsFillSymbol([cf2]) renderer.addCategory(QgsRendererCategory('1', sym1, '1')) renderer.addCategory(QgsRendererCategory('0', sym2, '0')) return renderer
def setStyleIcon(self, svg): #Dato il path di un'icona svg la setta come stile per le sole features selezionate nel layer dei beni vlayer = self.getLayerBeni() if len(vlayer.selectedFeatures()) == 1: svgStyle = { "name": svg, "outline": "#000000", "size": "15", } svgLayer = QgsSvgMarkerSymbolLayer.create(svgStyle) svgSymbol = QgsMarkerSymbol() svgSymbol.changeSymbolLayer(0, svgLayer) symbol = QgsSymbol.defaultSymbol(vlayer.geometryType()) symbol.setColor(QColor("Blue")) centroid = QgsCentroidFillSymbolLayer() centroid.setSubSymbol(svgSymbol) selectedSymbol = QgsFillSymbol() selectedSymbol.changeSymbolLayer(0, centroid) renderer = QgsRuleBasedRenderer(symbol) rule = QgsRuleBasedRenderer.Rule(selectedSymbol, label="Selected", filterExp="is_selected()") renderer.rootRule().appendChild(rule) vlayer.setRenderer(renderer) vlayer.triggerRepaint()