Yes exactly

            f = QgsFeature()
            iter = vectorLayer.getFeatures( QgsFeatureRequest() )
            while iter.nextFeature( f ):
                print f.id()
                f.setAttribute( field, QVariant( 1 ) )
                vectorLayer.updateFeature( f )

Prints only 1 id, commenting the last line prints all ids.

On 03/22/2013 01:56 PM, Nathan Woodrow wrote:
Do you mean your loop is exited when you call updateFeature?

Can you post your code.

- Nathan


On Fri, Mar 22, 2013 at 10:54 PM, Denis Rouzaud <denis.rouz...@gmail.com <mailto:denis.rouz...@gmail.com>> wrote:

    Hi all,

    I am looping over features of a layer using new API
    (QgsFeatureRequest).
    If I modify a feature and do: layer.updateFeature(f), my loop is
    broken.
    Is this a normal behavior?

    What should I do if I want to modify features during the loop?

    Thanks

    Denis
    _______________________________________________
    Qgis-developer mailing list
    Qgis-developer@lists.osgeo.org <mailto:Qgis-developer@lists.osgeo.org>
    http://lists.osgeo.org/mailman/listinfo/qgis-developer



_______________________________________________
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to