Похоже, что processing.getObject()
больше не доступен в QGIS.
from PyQt5.QtCore import *
from qgis.core import *
#...
layer = processing.getObject(layer)
# -> ...module 'processing' has no attribute 'getObject'
Есть ли новый способ использования get.Object
?
qgis
pyqgis
qgis-processing
qgis-3
Лунное море
источник
источник
Ответы:
У меня есть локальная копия проекта QGIS github, ему несколько месяцев, но я смог найти, где это изменилось.
Стоит проверить список изменений API , который упоминает это
Используя аннотации git line, я смог проследить это до изменения, внесенного несколько месяцев назад ...
это выглядит , как если бы несколько методов ( в том числе GetObject были переработаны) и заменены на единый getLayerFromString () методе
Но с тех пор он был перемещен в QgsProcessingUtils .
Так что вы можете попробовать использовать
QgsProcessingUtils.mapLayerFromString()
Если вы используете QGIS 2.x, вы все равно сможете использовать getObject (), как и раньше (можете проверить с помощью
print(processing.__dict__['getObject'])
источник
Метод processing.getObject () все еще доступен в QGIS. Это можно увидеть на чистом изображении:
Итак, обходной путь заключается в следующем:
источник