Tôi muốn cập nhật một thuộc tính của một tính năng. Tuy nhiên, tôi không biết cập nhật nó bằng cách sử dụng đối tượng tính năng. Tôi phải sử dụng nhà cung cấp dữ liệu để cập nhật nó.
layers = QgsMapLayerRegistry.instance().mapLayersByName('my_line')
layer = layers[0]
dp = layer.dataProvider()
it = dp.getFeatures()
for i in range(0, dp.featureCount()):
feat = it.next()
attrs = { 2 : 30 }
layer.dataProvider().changeAttributeValues({ feat.id() : attrs })
Tôi có thể thay đổi giá trị của một thuộc tính bằng cách sử dụng QgsFeature
đối tượng không?
Hơn nữa, có thể lặp bằng cách sử dụng một đối tượng lặp không?
my_index = layer.fieldNameIndex("my_field_name")
để có được chỉ số.