Pausa etichettatura in QGIS?


9

È possibile mettere in pausa / interrompere temporaneamente l'etichettatura in QGIS come in Arcmap per tutti i layer contemporaneamente?

La barra degli strumenti dell'etichetta non offre alcuna soluzione.

Risposte:


11

QGIS 3.x

È possibile utilizzare il seguente codice in Python Console per creare un pulsante sulla barra degli strumenti che attiva / disattiva le etichette per tutti i livelli vettoriali:

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

def label_control():
    for layer in QgsProject.instance().mapLayers().values():
        if layer.type() == QgsMapLayer.VectorLayer:
            if action.isChecked() == True:
                layer.setLabelsEnabled(True)
            else:
                layer.setLabelsEnabled(False)
        layer.triggerRepaint()

action.triggered.connect(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)

Il codice si basava sulla domanda: come attivare / disattivare tutte le etichette di tutti i livelli in QGIS .


QGIS 2.18.x

Puoi utilizzare il plug -in Disattiva / etichette attive che ha un pulsante per attivare / disattivare le etichette per tutti i livelli:

Invertire le etichette


1
Grazie Giuseppe. Questo è quello che stavo cercando. Peccato, non è ancora stato portato su Qgis 3.
RolandG,

1
@RolandG - Molto gradito, aggiunto un possibile metodo per QGIS 3 :)
Joseph,

1
manca il plug-in Disattiva / etichette attive! Ha avviato una richiesta nel loro repository per aggiornarlo.
Nikhil VJ,

@nikhilvj - Nice one! :)
Joseph,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.