Bu nitelik ile öznitelik adına göre öznitelik özelliklerini ayarlamaya çalışıyorum
pr = layer.dataProvider()
pr.addAttributes([QgsField("test", QVariant.Int)])
layer.updateFields()
for feature in layer.getFeatures():
attrName = 'test'
feature[attrName] = 1
ama sonuçta tüm alanlarda NULL var. Kullanırsam
feature.setAttributes([1])
düzgün çalışıyor.
Neyi yanlış yapıyorum? [AttrName] = 1 özelliği neden çalışmıyor?
Güncelleme : Bu çözümü bulun
pr = layer.dataProvider()
pr.addAttributes([QgsField("test", QVariant.Int)])
layer.updateFields()
for feature in layer.getFeatures():
attrName = 'test'
feature[attrName] = 1
pr.changeAttributeValues({feature.id() : {pr.fieldNameMap()[attrName] : 1}})
feature.setAttribute(attrName, 1)
vefeature.setAttribute(layer.fieldNameIndex(attrName), 1)
aynı sonuçları ile (api referans indeks ve isim özellik için iki setAttribute yöntemleri var)