Tampaknya processing.getObject()
tidak lagi tersedia di QGIS.
from PyQt5.QtCore import *
from qgis.core import *
#...
layer = processing.getObject(layer)
# -> ...module 'processing' has no attribute 'getObject'
Apakah ada cara baru untuk digunakan get.Object
?
qgis
pyqgis
qgis-processing
qgis-3
Laut Bulan
sumber
sumber
Jawaban:
Saya memiliki salinan proyek github QGIS secara lokal, ini berumur beberapa bulan tetapi saya dapat menemukan di mana ini berubah.
Ada baiknya memeriksa daftar perubahan API , yang menyebutkan ini
Menggunakan anotasi git line saya dapat melacak ini kembali ke perubahan yang dibuat beberapa bulan yang lalu ...
tampak seolah-olah beberapa metode (termasuk getObject ) yang refactored keluar dan digantikan dengan satu getLayerFromString () metode
Tapi sejak itu sudah dipindahkan ke QgsProcessingUtils .
Jadi Anda bisa mencoba menggunakan
QgsProcessingUtils.mapLayerFromString()
Jika menggunakan QGIS 2.x, Anda masih dapat menggunakan getObject () seperti sebelumnya (dapat memeriksa menggunakan
print(processing.__dict__['getObject'])
sumber
Metode 'processing.getObject ()' masih tersedia di QGIS. Itu dapat diamati pada gambar bersih:
Jadi, solusinya adalah sebagai berikut:
sumber