Làm thế nào để thay đổi màu của một lớp vectơ trong pyQGIS?


10

Có thể thay đổi màu sắc trong khi thêm một lớp vector? Tôi có một lớp vectơ với các vùng nước và muốn tải nó với một màu xanh lam. Lớp được thêm vào:

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

Tôi có thể bằng cách nào đó thay đổi màu sắc sau hoặc trong khi tải?

Câu trả lời:


11

bạn có thể sử dụng một cái gì đó như thế này:

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

Làm tốt lắm!


7

Cuối cùng với mã này, sự thay đổi của một lớp màu đang làm việc với tôi:

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)

Bạn phải tải lại MapCanvas và bảng điều khiển lớp.


Mã này đã cứu tôi từ nghiên cứu painfull => qgis.utils.iface.legendInterface () refreshLayerSymbology (self.vlayer).
Kostadin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.