Im writing a stand alone app in Python using QGIS 2.01 on Ubuntu via Eclipse bindings.
I've written code which successfully adds features to a new in memory layer and displays, but now I want to add attributes. The following code is giving an error : "Undefined Variable: QgsField" error despight importing both "qgis.core *" and specifically QgsField.
import os
import os.path
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from qgis.gui import *
from qgis.core import *
from PyQt4.QtGui import QAction, QMainWindow
from PyQt4.QtCore import SIGNAL, Qt
from qgis.core import QgsVectorLayer, QgsField, QgsMapLayerRegistry
from PyQt4.QtCore import QVariant
Graphiclayers = QgsMapLayerRegistry.instance().mapLayers().values()
GraphLyr = Graphiclayers[0]
pr = GraphLyr.dataProvider()
# add fields
pr.startediting()
pr.addAttributes([QqsField('Colour', QVariant.Int),
QgsField('QTriad', QVariant.Int),
QgsField('QBox', QVariant.Int)])
QgsField
, which is writtenQqsField
. This probably causes your error.