Призупинити маркування в QGIS?


9

Чи можна призупинити / зупинити маркування тимчасово в QGIS, як у Arcmap, для всіх шарів одразу?

Панель інструментів етикетки не пропонує рішення.

Відповіді:


11

QGIS 3.x

Ви можете використовувати наступний код на консолі Python для створення кнопки на панелі інструментів, яка перемикає мітки для всіх векторних шарів:

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)

Код базувався на питанні: як увімкнути / вимкнути всі мітки всіх шарів у QGIS .


QGIS 2.18.x

Ви можете використовувати плагін Deactivate / Active Labels, який містить кнопку для включення / вимкнення міток для всіх шарів:

Інвертувати етикетки


1
Дякую, Йосифе. Ось що я шукав. Шкода, що його ще не портували для Qgis 3.
RolandG

1
@RolandG - Вітаємо, додали можливий метод для QGIS 3 :)
Джозеф

1
відсутній плагін Deactivate / Active label! Почав запит на їх репо, щоб оновити його.
Nikhil VJ

@nikhilvj - Приємний! :)
Йосиф
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.