Saltar al contenido

Cómo activar/desactivar todas las etiquetas de todas las capas en QGIS

La guía o código que hallarás en este post es la resolución más fácil y efectiva que encontramos a esta duda o dilema.

Solución:

No estoy seguro de si existe una opción existente para hacer esto, pero usando un poco de python, ¡siempre podemos crear esa función nosotros mismos!

Entonces podríamos:

  1. Cree un icono temporal en la barra de herramientas que pueda alternar.
  2. Cree una función que habilite o deshabilite el etiquetado para cada capa según el estado de alternancia del icono.
  3. Conecte el icono a la función.

El código podría tener un aspecto similar al que puede pegar en el Consola Python:

from PyQt4.QtCore import QObject, SIGNAL
from PyQt4.QtGui import QAction, QIcon

action = QAction(QIcon(""), "Turn labels" + "n" + "ON/OFF", iface.mainWindow())
action.setCheckable(True)
iface.addToolBarIcon(action)

def label_control():
    for layer in QgsMapLayerRegistry.instance().mapLayers().values():       
        if action.isChecked() == True:      
            layer.setCustomProperty("labeling/enabled", True)
        else:
            layer.setCustomProperty("labeling/enabled", False)
        layer.triggerRepaint()

QObject.connect(action, SIGNAL("triggered()"), label_control)
# Uncomment line below if you want to remove the icon yourself,
# otherwise it will be removed automatically when you restart QGIS
#iface.removeToolBarIcon(action)

Ejemplo:

Un par de capas que tienen el etiquetado habilitado (alternado):

Habilitación de etiquetas

Mismas capas pero con las etiquetas deshabilitadas (desarmado):

Deshabilitar etiquetas

Acuérdate de que tienes la opción de reseñar si te fue preciso.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *