pyQGISでベクターレイヤーの色を変更するにはどうすればよいですか?


10

ベクターレイヤーを追加しながら色を変更することはできますか?水の領域を持つベクターレイヤーがあり、青い色のスタイルで読み込みたいのですが。レイヤーは次のように追加されます。

QgsMapLayerRegistry.instance().addMapLayer(self.vlayer)

ロード後またはロード中に色を変更できますか?

回答:


11

あなたはこのようなものを使うことができます:

symbols = self.vlayer.rendererV2().symbols()
symbol = symbols[0]
symbol.setColor(QColor.fromRgb(50,50,250))

よくやった!


7

最後に、このコードを使用すると、レイヤーの色の変更が機能します。

QgsMapLayerRegistry.instance().addMapLayer(self.vlayer)       
symbols = self.vrlayer.rendererV2().symbols()
symbol = symbols[0]
symbol.setColor(QtGui.QColor.fromRgb(50,50,250))
qgis.utils.iface.mapCanvas().refresh() 
qgis.utils.iface.legendInterface().refreshLayerSymbology(self.vlayer)

MapCanvasとレイヤーパネルもリロードする必要があります。


このコードは、私を苦痛の研究から救いました=> qgis.utils.iface.legendInterface()。refreshLayerSymbology(self.vlayer)
Kostadin
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.