Bagaimana cara mengubah warna layer vektor di pyQGIS?

10

Apakah mungkin untuk mengubah warna sambil menambahkan layer vektor? Saya memiliki layer vektor dengan area air dan ingin memuatnya dengan gaya warna biru. Lapisan ditambahkan dengan:

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

Bisakah saya mengubah warna setelah atau saat memuat?

Martin
sumber

Jawaban:

11

Anda dapat menggunakan sesuatu seperti ini:

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

Kerja bagus!

Sassá
sumber
7

Akhirnya dengan kode ini perubahan warna layer berfungsi untuk saya:

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)

Anda harus memuat ulang MapCanvas dan panel lapisan juga.

Martin
sumber
Kode ini menyelamatkan saya dari painfull research => qgis.utils.iface.legendInterface (). RefreshLayerSymbology (self.vlayer)
Kostadin