3 votos

Forma limpia de identificar la combinación de colores en Python QGIS

Cuando hago en la consola de Python QGIS QgsColorSchemeRegistry.instance().schemes() devuelve lo siguiente

[<qgis._core.QgsColorScheme object at 0x7f6cc5d8ccc8>,
 <qgis._core.QgsColorScheme object at 0x7f6cc5d8c938>,
 <qgis._core.QgsColorScheme object at 0x7f6cc5f54c30>]

Si pongo en bucle los esquemas con [scheme.schemeName() for scheme in QgsColorSchemeRegistry.instance().schemes()] me sale:

[u'Recent colors',
 u'Standard colors',
 u'Project colors']

Por lo tanto, parece que todos los esquemas han pasado por un reparto por lo que la única manera de hacer la diferencia es a través de su schemeName pero no es genérico cuando se utilizan otros idiomas.

A mi entender, esperaría una lista con contenido devuelto como la siguiente:

[<qgis._core.QgsRecentColorScheme object at 0x7f6cc5d8ccc8>,
 <qgis._core.QgsGplColorScheme object at 0x7f6cc5d8c938>,
 <qgis._core.QgsProjectColorScheme object at 0x7f6cc5f54c30>]

Primero, ¿mi suposición es correcta?

En segundo lugar, ¿cuál es la "mejor" manera de gestionar adecuadamente este caso, si es que hay alguna?

2voto

John Feminella Puntos 123

Parece que era un error en QGIS <= 2.12. Casualmente lo había arreglado sólo unos días antes de su pregunta ( https://github.com/qgis/QGIS/commit/de1001b9f78dedc511be1b5de594308efdf686de ) .

Así que en QGIS > 2.12.1 esto se comportará correctamente.

En respuesta a su segunda pregunta "¿cuál es la "mejor" forma de gestionar adecuadamente este caso, si es que hay alguna?".

Registre un error en http://hub.qgis.org . Hay que arreglarlo en el propio QGIS, así que nos gustaría mucho saber si te encuentras con situaciones como ésta.

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