Wygląda na processing.getObject()
to, że nie jest już dostępny w QGIS.
from PyQt5.QtCore import *
from qgis.core import *
#...
layer = processing.getObject(layer)
# -> ...module 'processing' has no attribute 'getObject'
Czy istnieje nowy sposób korzystania get.Object
?
qgis
pyqgis
qgis-processing
qgis-3
Morze Księżycowe
źródło
źródło
Odpowiedzi:
Mam lokalnie kopię projektu github QGIS, ma on kilka miesięcy, ale udało mi się dowiedzieć, gdzie się to zmieniło.
Warto sprawdzić listę zmian API , która o tym wspomina
Za pomocą adnotacji linii git udało mi się prześledzić to do zmiany dokonanej kilka miesięcy temu ...
to wygląda tak, jakby kilka metod (w tym getObject ) zostały refactored i zastąpiony pojedynczym getLayerFromString () metody
Ale od tego czasu został przeniesiony do QgsProcessingUtils .
Więc możesz spróbować użyć
QgsProcessingUtils.mapLayerFromString()
Jeśli używasz QGIS 2.x, nadal powinieneś być w stanie używać getObject () jak poprzednio (możesz to sprawdzić za pomocą
print(processing.__dict__['getObject'])
źródło
Metoda „processing.getObject ()” jest nadal dostępna w QGIS. Można to zaobserwować na obrazie netto:
Obejście jest następujące:
źródło