Bug report #9773
Issue with Memory Provider example code in PyQGIS Cookbook
Status: | Rejected | ||
---|---|---|---|
Priority: | Low | ||
Assignee: | - | ||
Category: | Documentation and Help | ||
Affected QGIS version: | 2.2.0 | Regression?: | No |
Operating System: | Easy fix?: | No | |
Pull Request or Patch supplied: | No | Resolution: | invalid |
Crashes QGIS or corrupts data: | No | Copied to github as #: | 18315 |
Description
The example code given in the PyQGIS cookbook re: Memory Provider is not entirely functional in newer versions of QGIS (2.0 and above). This section of the code in particular was causing bugs:
# add fields
pr.addAttributes( [ QgsField("name", QVariant.String),
QgsField("age", QVariant.Int),
QgsField("size", QVariant.Double) ] )
I was getting error messages that QGIS was not able to recognize values of type string for fields that I specified as string (i.e. if I were to get an error message from the above that "name," a string, was an unexpected type). I instead had to use the really ugly syntax of writing out all the fields in a URI string, the other option provided above this example in the cookbook:"Point?crs=epsg:4326&field=id:integer&field=name:string(20)&index=yes"
Additionally, the cookbook did not state anywhere the need for the following importfrom PyQt4.QtCore import *
from PyQt4.QtGui import *
statements to use these functions. This might help in the future for beginners like me.
Thanks!
History
#1 Updated by Alexander Bruy over 9 years ago
- Resolution set to invalid
- Status changed from Open to Rejected
This code snippet, not complete example and this is users responsibility to import necessary modules