Tengo una configuración de señal para un evento de eliminación de características en una capa:
self.layer.featureDeleted.connect(self.feature_deleted)
Cuando intento obtener un atributo de la función eliminada en la ranura, se produce un error StopIteration (es decir, no puede recuperar la función).
¿Pensé que aún debería poder recuperar los atributos de una entidad eliminada antes de que se confirmen los cambios en la capa? De lo contrario, no veo para qué sirve el parámetro fid.
def feature_deleted(self, fid):
feature = self.layer.getFeatures(QgsFeatureRequest().setFilterFid(int(fid))).next()
idx = self.layer.fieldNameIndex('my_attribute')
print feature.attributes()[idx]
¿Cómo puedo acceder a los atributos de una entidad eliminada (antes de que se confirmen los cambios en la capa)?