在QGIS中暂停标签?


9

是否可以像在Arcmap中一样,在QGIS中立即暂停/停止所有图层的标注?

标签工具栏没有提供解决方案。

Answers:


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

您可以使用停用/活动标签插件,该插件具有用于打开/关闭所有图层的按钮的按钮:

反转标签


1
谢谢约瑟夫。那就是我想要的。太糟糕了,它还没有移植到Qgis 3中。
RolandG

1
@RolandG-非常欢迎,为QGIS 3添加了一种可能的方法:)
约瑟夫

1
缺少停用/启用标签插件!开始了他们的要求回购升级吧。
Nikhil VJ

@nikhilvj-好人!:)
约瑟夫
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.