Hi Luca,
thank you for your reply, which made me trying further, much
appreciated. Your code works perfect with an existing feature (will use
it some other place), however my new feature has no id assigned!
For those interested I elaborated the following:
newFeat = QgsFeature()
newGeom = # some magic :-)
newFeat.setGeometry( newGeom )
# important: create attributes at this point with null values...
for att in layer.pendingAllAttributesList():
newFeat.addAttribute( att, QVariant() )
# ...in order to change attribute's value...
newFeat.changeAttribute( idx, 'string' )
# ...before adding feature to the layer
if layer.addFeatures( [ newFeat ] ):
layer.setModified()
when a feature is added to the layer a copy of it is added, thus the
feature is not accessible any more before the layer's changes are
commited (because the new feature has no id)
Bernhard
[email protected] schrieb:
[email protected] scritti il 28/09/2010 08.21.31
myIdx = myLayer.fieldNameIndex( 'myfield' )
newFeature.changeAttribute( myIdx, newValue )
#does not change the field value to new value :-(
what is the second argument of changeAttribute supposed to be?
From my 'homemade' plugin:
self.lay_stradearchi.changeAttributeValue (self.minFeature.id(),
self.lay_stradearchi.dataProvider().fieldNameIndex("FIELDNAME"),
self.dlgEdit.ui.newCode.text())
First argument is the FEATURE ID,
second argument is the index of the field,
third is the new value.
HTH.
_______________________________________________
Qgis-developer mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-developer
________ Information from NOD32 ________
This message was checked by NOD32 Antivirus System for Linux Mail Server.
http://www.nod32.com
________ Information from NOD32 ________
This message was checked by NOD32 Antivirus System for Linux Mail Server.
http://www.nod32.com
_______________________________________________
Qgis-developer mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-developer