[Qgis-developer] Dataprovider.select() doesnt exist
Nathan Woodrow
madmanwoo at gmail.com
Tue May 21 16:23:19 PDT 2013
We removed the select() method in the new version to make way for
multithreading in the future.
You can translate you code into this:
for feature in lnk_shp.getFeatures():
for attr in feature.attributes():
attr_list.append(attr.toString())
On Wed, May 22, 2013 at 9:18 AM, Carles Boïls Gisbert <fainssix at gmail.com>wrote:
> Hi everyone,
>
> I am using QGIS 1.9 Master in Ubuntu 12.10. I am trying to develop a
> plugin and need to extract data from attributes tables of the .shp.
>
> I created a GUI for the user can Open shp from the computer and the code
> recognize the shp file and I can get the name of the .shp, name of columns,
> etc. but I can not get the values for each row and work with them.
>
> I follow the cookbook but when I type "provider.select(allAttrs)" the
> python console in QGIS says:
>
> "AttributeError:QgsVectorDataProvider' object has no attribute 'select'
>
> here is the code I used: (i didn't copy the definition of GUI because
> with that is any prolem)
>
> from PyQt4 import QtGui, QtCore
> from PyQt4 import *
> from qgis.core import *
> from PyQt4.QtCore import *
> from PyQt4.QtGui import *
>
> import qgis.utils, sys
> # supply path to where is your qgis installed
> QgsApplication.setPrefixPath("/usr/", True)
> #load providers
> QgsApplication.initQgis()
>
> *******
>
> self.ln_lnk.setText(str(self.filename_lnk))
>
> lnk_shp = QgsVectorLayer(self.filename_lnk, 'casires', 'ogr')
>
> if not lnk_shp.isValid():
> print "doesnt work"
> QtGui.QMessageBox.Warning(self, "Warning", "shp not valid",
> QtGui.QMessageBox.Ok)
>
> try:
> provider = lnk_shp.dataProvider()
> feat = QgsFeature()
> allAttrs = provider.attributeIndexes()
>
>
> provider.select(allAttrs)
> attr_list =[]
>
>
> while provider.nextFeature(feat):
>
> attrs = feat.attributeMap()
> for(k,attr) in attrs.iteritems():
> attr_list.append(attr.toString())
>
> except:
> self.ln_save.setText("Falsch")
>
>
> I try the same plugin in a oldest version of QGIS 1.7.5 and it works or at
> least doesn't show this "Falsch". I am wondering during a week and have no
> idea to sole this. I would really apreciate if someone can solve this
> problem because is really important to create this plugin and for tha I
> need to take the data from the attribute table, if not I can not continuous
> anymore.
>
> Does anyone what is wrong and why my QGIS doesnt recognize the
> provider.select(allAttrs)?
> I would like to know if somebody knows how to install a oldest version of
> QGIS (e.g. 1.7.5)??
>
> thank you so much!!
>
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20130522/c7414040/attachment.html>
More information about the Qgis-developer
mailing list