मेरे पास एक परत पर एक सुविधा हटाने की घटना के लिए एक सिग्नल सेटअप है:
self.layer.featureDeleted.connect(self.feature_deleted)
जब मैं स्लॉट पर हटाई गई विशेषता से एक विशेषता को आज़माता हूं और रोकता हूं, तो एक StopIteration त्रुटि डाली जाती है (यानी यह सुविधा पुनर्प्राप्त नहीं कर सकती है)।
मैंने सोचा होगा कि परत में परिवर्तन होने से पहले ही मुझे हटाए गए फीचर से विशेषताओं को पुनः प्राप्त करने में सक्षम होना चाहिए? अन्यथा मैं यह नहीं देखता कि फिड पैरामीटर का क्या उपयोग है।
def feature_deleted(self, fid):
feature = self.layer.getFeatures(QgsFeatureRequest().setFilterFid(int(fid))).next()
idx = self.layer.fieldNameIndex('my_attribute')
print feature.attributes()[idx]
मैं हटाए गए विशेषता के गुणों तक कैसे पहुंच सकता हूं (परत में परिवर्तन होने से पहले)?