Est-il possible de suspendre / arrêter temporairement l'étiquetage dans QGIS comme dans Arcmap pour toutes les couches à la fois?
La barre d'outils d'étiquette n'offre aucune solution.
Vous pouvez utiliser le code suivant dans la console Python pour créer un bouton sur la barre d'outils qui bascule les étiquettes pour toutes les couches vectorielles:
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)
Le code était basé sur la question: comment activer / désactiver toutes les étiquettes de toutes les couches dans QGIS .
Vous pouvez utiliser le plugin Désactiver / Activer les étiquettes qui a un bouton pour activer / désactiver les étiquettes pour toutes les couches: