Ho un'impostazione del segnale per un evento di eliminazione di funzionalità su un livello:
self.layer.featureDeleted.connect(self.feature_deleted)
Quando provo ad afferrare un attributo dalla funzione eliminata nello slot, viene generato un errore StopIteration (ovvero non è possibile recuperare la funzione).
Avrei pensato che avrei dovuto essere ancora in grado di recuperare gli attributi da una funzione eliminata prima che le modifiche al layer fossero impegnate? Altrimenti non vedo a che serve il parametro 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]
Come posso accedere agli attributi di una funzione eliminata (prima che vengano apportate le modifiche al livello)?