11 votos

Activar/desactivar TODAS las capas seleccionadas en QGIS

Cuando selecciono algunos capas en el QGIS 3 Layers Panel y pulse Space - sólo una de las capas seleccionadas se apaga/enciende. Quiero activarlas todo . ¿Cómo hacerlo?

few

14voto

J. Monticolo Puntos 46

En el panel de capas, hay un icono en forma de ojo: Manage Map Themes ( documentación ) :

qgis layer panel

Al hacer clic en él, se puede ver la opción de mostrar / enmascarar las capas seleccionadas.

También puede ir a la Settings menú > Shortcuts , busque estas opciones (una para la visualización seleccionada, otra para la máscara seleccionada) y afecte al acceso directo que desee.


Código PyQGIS :

Copie y ejecute el siguiente código en la consola de Python y ahora, puede mostrar / enmascarar las capas seleccionadas con el Ctrl + Space atajo.

La secuencia de teclas se puede cambiar con el Qt.Key códigos .

from PyQt5.QtCore import Qt
from PyQt5.QtGui import QKeySequence
from PyQt5.QtWidgets import QShortcut
from qgis.core import QgsProject
from qgis.utils import iface

def display_mask_selected_layers():
    ltr = QgsProject.instance().layerTreeRoot()
    layers = iface.layerTreeView().selectedLayers()
    switch = False

    for i, layer in enumerate(layers):
        node = ltr.findLayer(layer.id())
        if node:
            if i == 0:
                switch = not node.itemVisibilityChecked()

            node.setItemVisibilityChecked(switch)

shortcut = QShortcut(
    QKeySequence(
        # set the key sequence, here Ctrl + Space
        Qt.ControlModifier + Qt.Key_Space
    ),
    iface.mainWindow()
)
shortcut.setContext(Qt.ApplicationShortcut)
shortcut.activated.connect(display_mask_selected_layers)

Hacer el archivo startup.py con el código anterior y copiarlo en ( fuente ) :

  • para Linux : /home/<session_name>/.local/share/QGIS/QGIS3
  • para Windows (suponiendo que C: es la unidad del sistema) : C:\Users\<session_name>\AppData\Roaming\QGIS\QGIS3\startup.py
  • para MacOS : Library/Application Support/QGIS/QGIS3

0 votos

Gracias. Entonces, ¿necesito dos teclas de acceso directo para realizar esta acción? No se puede assing on y off acciones a una tecla. Aquí está la solicitud de función para esto: github.com/qgis/QGIS/issues/33874

0 votos

He añadido el código de Python con un enlace de acceso directo único.

0 votos

Estoy tratando de pegar este código como marco de inicio pero falla debido a la incorrecta imports . Algunos de ellos los conozco (por ejemplo from qgis.utils import iface ), pero no puedo encontrar el otro ( QShortcut , Qt etc.).

7voto

nitinsavant Puntos 6

En QGIS 3.14+, ahora se puede alternar la visibilidad de la(s) capa(s) o grupo(s) actualmente seleccionados con el botón "Espacio".

enter image description here

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X