1
วิธีเข้าถึงแอตทริบิวต์ที่ถูกลบ (ก่อนที่จะส่ง)
ฉันมีการตั้งค่าสัญญาณสำหรับเหตุการณ์การลบคุณสมบัติในเลเยอร์: self.layer.featureDeleted.connect(self.feature_deleted) เมื่อฉันพยายามคว้าคุณลักษณะจากคุณลักษณะที่ถูกลบในสล็อตข้อผิดพลาดStopIterationจะถูกส่งออกไป (นั่นคือไม่สามารถเรียกคืนคุณสมบัติ) ฉันคิดว่าฉันควรจะยังคงสามารถดึงข้อมูลคุณลักษณะจากคุณลักษณะที่ถูกลบก่อนที่การเปลี่ยนแปลงในเลเยอร์จะเกิดขึ้นได้อย่างไร มิฉะนั้นฉันไม่เห็นสิ่งที่ใช้พารามิเตอร์ 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] ฉันจะเข้าถึงคุณลักษณะของคุณลักษณะที่ถูกลบได้ (ก่อนที่จะมีการเปลี่ยนแปลงในเลเยอร์)