2 votos

¿Activar/desactivar las etiquetas de una capa con PyQGIS 2?

Intento activar/desactivar las etiquetas de una capa en QGIS 2.18 con PyQGIS. En PyQGIS 3 un método QgsVectorLayer().setLabelsEnabled() parecen haber sido añadidos, pero por lo que veo, no están disponibles en PyQGIS 2 (No hay ninguna pista de este tipo Desde QGIS 3.0 también en el doku para PyQGIS 3 https://qgis.org/api/classQgsVectorLayer.html#a4cdece41437b32f4adafeb1caa10ad1b ).

Mi primer intento fue acceder a la configuración de etiquetado de la capa con algo como

label_settings = my_layer.labeling().settings()
label_settings.enabled = not label_settings.enabled
my_layer.setLabeling(label_settings)

pero el labeling() y setLabeling() no están disponibles en los enlaces de python (por ejemplo https://qgis.org/api/2.18/classQgsVectorLayer.html#ada12f21c42e2f3c2eaa2b234ff25ed28 ).

Existe un método QgsVectorLayer().enableLabels() también, pero esto está obsoleto ( https://qgis.org/api/2.18/classQgsVectorLayer.html#ae7735460da1518febff85575851b8e88 ) y no parece tener ningún efecto.

¿Alguna sugerencia?

1voto

Mue Puntos 2469

Trata de usar:

layer.setCustomProperty("labeling/enabled", True) # On
layer.setCustomProperty("labeling/enabled", False) # Off

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