Tengo este script independiente para mostrar shapefile. He seguido el qgis python cookbook procedimiento, pero tengo este error. "NameError: name 'QgsApplication' is not defined". Aquí está todo mi código. Alguien por favor dígame donde estoy equivocado. He verificado mi setPrefixPath ejecutandolo en la consola de Qgis python
from PyQt4.QtGui import *
from PyQt4.QtCore import *
import sys, os
class Mapbox(QMainWindow):
def __init__(self, shapefile):
QMainWindow.__init__(self)
self.setWindowTitle("Map Box Viewer")
canvas = QgsMapCanvas()
canvas.useImageToRender(False)
canvas.setCanvasColor(Qt.white)
canvas.show()
layer = QgsVectorLayer(shapefile, "layer1", "ogr")
if not layer.isValid():
raise IOError("Invalid shapefile")
QgsMapLayerRegistry.instance().addMapLayer(layer)
canvas.setExtent(layer.extent())
canvas.setLayerSet([QgsMapCanvasLayer(layer)])
self.setCentralWidget(canvas)
app = QApplication(sys.argv)
QgsApplication.setPrefixPath("C:\OSGeo4W64\apps\qgis", True)
QgsApplication.initQgis()
viewer = Mapbox(r"shapefile.shp")
viewer.show()
app.exec_()
QgsApplication.exitQgis()