Parece que processing.getObject()
não está mais disponível no QGIS.
from PyQt5.QtCore import *
from qgis.core import *
#...
layer = processing.getObject(layer)
# -> ...module 'processing' has no attribute 'getObject'
Existe uma nova maneira de usar get.Object
?
qgis
pyqgis
qgis-processing
qgis-3
Mar Lunar
fonte
fonte
Respostas:
Tenho uma cópia do projeto github QGIS localmente, há alguns meses, mas consegui descobrir onde isso mudou.
Vale a pena conferir a lista de alterações na API , que menciona isso
Usando anotações de linha git, pude rastrear isso de volta a uma alteração feita há alguns meses ...
parece que alguns métodos (incluindo getObject ) foram refatorados e substituídos por um único método getLayerFromString ()
Mas desde então, foi movido para QgsProcessingUtils .
Então você pode tentar usar
QgsProcessingUtils.mapLayerFromString()
Se estiver usando o QGIS 2.x, você ainda poderá usar o getObject () como antes (pode verificar usando
print(processing.__dict__['getObject'])
fonte
O método 'processing.getObject ()' ainda está disponível no QGIS. Pode ser observado na imagem líquida:
Portanto, a solução alternativa é a seguinte:
fonte