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 और परतों के पैनल को फिर से लोड करना होगा।


इस कोड को मुझे painfull अनुसंधान से बचाया => qgis.utils.iface.legendInterface () refreshLayerSymbology (self.vlayer)।
Kostadin
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.