Bir katman üzerinde bir özellik silme olayı için bir sinyal kurulumu var:
self.layer.featureDeleted.connect(self.feature_deleted)
Yuvadaki silinen özellikten bir öznitelik yakalamaya çalıştığımda, bir StopIteration hatası atılır (yani özelliği alamaz).
Katmanda yapılan değişiklikler tamamlanmadan önce silinen bir özellikten özellikleri alabilmem gerektiğini düşünürdüm? Aksi takdirde fid parametresinin ne olduğunu göremiyorum.
def feature_deleted(self, fid):
feature = self.layer.getFeatures(QgsFeatureRequest().setFilterFid(int(fid))).next()
idx = self.layer.fieldNameIndex('my_attribute')
print feature.attributes()[idx]
Silinmiş bir özelliğin özelliklerine nasıl erişebilirim (katmandaki değişiklikler yapılmadan önce)?