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)])
1 Answer 1
(Ok then!)
There is a typo in the first QgsField
, which is written QqsField
. This probably causes your error.
-
1Just one of those cases where you stare too long at a problem! thanks for the swift response, saved me allot more staring...AnserGIS– AnserGIS2016年08月18日 10:14:45 +00:00Commented Aug 18, 2016 at 10:14
QgsField
, which is writtenQqsField
. This probably causes your error.