Beschriftung in QGIS anhalten?

9

Ist es möglich, die Beschriftung in QGIS wie in Arcmap für alle Ebenen gleichzeitig anzuhalten / zu stoppen?

Die Beschriftungssymbolleiste bietet keine Lösung.

RolandG
quelle

Antworten:

11

QGIS 3.x.

Sie können den folgenden Code in der Python-Konsole verwenden , um eine Schaltfläche in der Symbolleiste zu erstellen, mit der die Beschriftungen für alle Vektorebenen umgeschaltet werden:

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)

Der Code basierte auf der Frage: Ein- und Ausschalten aller Beschriftungen aller Ebenen in QGIS .


QGIS 2.18.x.

Sie können das Plugin Deaktivieren / Aktive Beschriftungen verwenden, das eine Schaltfläche zum Ein- und Ausschalten von Beschriftungen für alle Ebenen enthält:

Beschriftungen umkehren

Joseph
quelle
1
Danke Joseph. Das habe ich gesucht. Schade, es ist noch nicht für Qgis 3 portiert.
RolandG
1
@ RolandG - Sehr willkommen, eine mögliche Methode für QGIS 3 hinzugefügt :)
Joseph
1
fehlt das Plugin Deaktivieren / Aktive Labels! Startete eine Anfrage auf ihrem Repo , um es zu aktualisieren.
Nikhil VJ
@nikhilvj - Schön! :)
Joseph