Ich habe eine Signaleinrichtung für ein Feature-Löschereignis auf einer Ebene:
self.layer.featureDeleted.connect(self.feature_deleted)
Wenn ich versuche, ein Attribut aus dem gelöschten Feature im Slot zu holen , wird ein StopIteration- Fehler ausgegeben (dh, das Feature kann nicht abgerufen werden).
Ich hätte gedacht, ich sollte immer noch in der Lage sein, Attribute von einem gelöschten Feature abzurufen, bevor die Änderungen an der Ebene festgeschrieben werden. Ansonsten sehe ich nicht, was der fid-Parameter verwendet.
def feature_deleted(self, fid):
feature = self.layer.getFeatures(QgsFeatureRequest().setFilterFid(int(fid))).next()
idx = self.layer.fieldNameIndex('my_attribute')
print feature.attributes()[idx]
Wie kann ich auf die Attribute eines gelöschten Features zugreifen (bevor die Änderungen an der Ebene übernommen werden)?