5 votos

QGIS: ¿Cómo cargar los estilos de las características (.qml) de la pitón?

Posible duplicado:
¿Cómo se diseña una capa desde la consola?

Estoy tratando de establecer los estilos para una capa vectorial cargando el archivo .qml en la consola python. El archivo de estilo qml- contiene todas las categorías y símbolos necesarios, pero no encuentro la función correcta para cargar el archivo qml. El QgsCategorizedSymbolRendererV2::create(domElement) parece no estar disponible en la consola python (QGIS 1.8.0). ¿Es myRenderer.load(doc.documentElement()) la función correcta a utilizar?

¡Gracias!

Stefan

#load the xml
xmlfile = QtCore.QFile("qgis-layer-style.qml")
doc = QtXml.QDomDocument( "Categories" ) 
if xmlfile.open(QtCore.QIODevice.ReadWrite | QtCore.QIODevice.Text) == 0:
    print "cannot open file"
if doc.setContent( xmlfile ) == 0:
    print "no xml content"

# creating a new renderer
myRenderer = QgsCategorizedSymbolRendererV2('',[])
myRenderer.load(doc.documentElement())
# here myRenderer has still no categories!

# assign myRenderer to the active layer
layer = qgis.utils.iface.activeLayer()
layer.setRendererV2(myRenderer)

6voto

Josh Kodroff Puntos 6646

He utilizado esta función desde un plugin. Podrías probarlo desde la consola de python:

http://www.qgis.org/api/classQgsMapLayer.html#a6b117fdc1a090d014374a6981405d1ea

En mi plugin lo uso así:

self.layer_name.loadNamedStyle('path_to_qml_file')

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X