Eu tenho uma configuração de sinal para um evento de exclusão de recurso em uma camada:
self.layer.featureDeleted.connect(self.feature_deleted)
Quando tento pegar um atributo do recurso excluído no slot, um erro StopIteration é gerado (ou seja, ele não pode recuperar o recurso).
Eu teria pensado que ainda deveria conseguir recuperar atributos de um recurso excluído antes que as alterações na camada sejam confirmadas? Caso contrário, não vejo o uso do 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]
Como acessar os atributos de um recurso excluído (antes que as alterações na camada sejam confirmadas)?