Parece que processing.getObject()
ya no está disponible en QGIS.
from PyQt5.QtCore import *
from qgis.core import *
#...
layer = processing.getObject(layer)
# -> ...module 'processing' has no attribute 'getObject'
¿Hay una nueva forma de usar get.Object
?
qgis
pyqgis
qgis-processing
qgis-3
Mar lunar
fuente
fuente
Respuestas:
Tengo una copia del proyecto QGIS github localmente, tiene unos meses pero pude encontrar dónde cambió esto.
Vale la pena consultar la lista de cambios de API , que menciona esto
Utilizando anotaciones de línea git pude rastrear esto hasta un cambio realizado hace unos meses ...
parece que algunos métodos (incluido getObject ) fueron refactorizados y reemplazados con un solo método getLayerFromString ()
Pero desde entonces se ha movido a QgsProcessingUtils .
Entonces podrías intentar usar
QgsProcessingUtils.mapLayerFromString()
Si usa QGIS 2.x, aún debería poder usar getObject () como antes (puede verificar usando
print(processing.__dict__['getObject'])
fuente
El método 'processing.getObject ()' todavía está disponible en QGIS. Se puede observar en la imagen neta:
Entonces, la solución es la siguiente:
fuente