[Qgis-developer] Not Rendering the Shapefile in Canvas - Blank
Noli Sicad
nsicad at gmail.com
Fri Sep 10 09:27:04 EDT 2010
I solved it. I am using Ubuntu 10.04
I need to properly place the QGIS Install directory
qgis_prefix = os.getenv("/usr")
And I have to put, QgsApplication.setPrefixPath("/usr", True)
Instead of using: QgsApplication.setPrefixPath(qgis_prefix, True)
Here's the code.
def main(argv):
# create Qt application
app = QApplication(argv)
# Initialize qgis libraries
QgsApplication.setPrefixPath("/usr", True)
QgsApplication.initQgis()
# create main window
wnd = ShapeViewer()
# Move the app window to upper left
wnd.move(100,100)
wnd.show()
# run!
retval = app.exec_()
# exit
QgsApplication.exitQgis()
sys.exit(retval)
if __name__ == "__main__":
main(sys.argv)
Noli
On 9/10/10, Noli Sicad <nsicad at gmail.com> wrote:
> Hi Cédric
>
> I inserted self.canvas.refresh() as showed below but still a blank canvas.
>
> ~~~~~~~~
> # Set up the map canvas layer set
> cl = QgsMapCanvasLayer(layer)
> layers = [cl]
> self.canvas.setLayerSet(layers)
> self.canvas.refresh()
> ~~~~~~~~~
>
> Thanks.
>
> Noli
>
>
> On 9/10/10, Möri Cedric <Cedric.Moeri at bd.so.ch> wrote:
>> Hi Noli
>>
>> seems you're missing self.canvas.refresh() at the end of your code.
>>
>> regards
>> Cédric
>>
>> mit freundlichen Grüssen
>>
>> Cédric Möri
>> GIS-Informatiker
>>
>> --
>> Kanton Solothurn
>> Bau- und Justizdepartement
>> Amt für Geoinformation
>> Rötistrasse 4
>> 4501 Solothurn
>>
>> Telefon: +41 (0)32 627 24 75
>> Telefax: +41 (0)32 627 22 14
>> mailto:cedric.moeri at bd.so.ch
>> http://www.agi.so.ch
>>
>>
>> ----- Originalnachricht -----
>> Von: "Noli Sicad" <nsicad at gmail.com>
>> Gesendet: Fre, 10.9.2010 14:03
>> An: qgis-developer <qgis-developer at lists.osgeo.org>
>> Betreff: [Qgis-developer] Not Rendering the Shapefile in Canvas - Blank
>>
>> Hi,
>>
>> Is there any reason why the shapefile is not rendering in this code
>> (below)? I tried several shapefiles and yet I am getting a white
>> canvas or blank canvas without a render. I was able to open the
>> shapefile and the form with mapcanvas are showing. Yet no render of
>> the polygons - totally blank.
>>
>> self.canvas.setCanvasColor(Qt.white) <---- a White Canvas without
>> render - BLANK
>>
>> Thanks. Noli
>>
>>
>> ~~~~~~~~~~~~~~~~
>> class ShapeViewer(QMainWindow, Ui_MainWindow):
>>
>> def __init__(self):
>> QMainWindow.__init__(self)
>>
>> # Required by Qt4 to initialize the UI
>> self.setupUi(self)
>>
>> # Set the title for the app
>> self.setWindowTitle("ShapeViewer")
>>
>> # Create the map canvas
>> self.canvas = QgsMapCanvas()
>> self.canvas.useImageToRender(False)
>> self.canvas.show()
>>
>> # Lay our widgets out in the main window using a
>> # vertical box layout
>> self.layout = QVBoxLayout(self.frame)
>> self.layout.addWidget(self.canvas)
>>
>> # layout is set - open a layer
>> # Add an OGR layer to the map
>> file = QFileDialog.getOpenFileName(self,
>> "Open Shapefile", ".", "Shapefiles (*.shp)")
>> fileInfo = QFileInfo(file)
>>
>> # Add the layer
>> layer = QgsVectorLayer(file, fileInfo.fileName(), "ogr")
>>
>> if not layer.isValid():
>> return
>>
>> # Add layer to the registry
>> QgsMapLayerRegistry.instance().addMapLayer(layer);
>>
>> # Set extent to the extent of our layer
>> self.canvas.setExtent(layer.extent())
>>
>> # Set up the map canvas layer set
>> cl = QgsMapCanvasLayer(layer)
>> layers = [cl]
>> self.canvas.setLayerSet(layers)
>> _______________________________________________
>> Qgis-developer mailing list
>> Qgis-developer at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>> _______________________________________________
>> Qgis-developer mailing list
>> Qgis-developer at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>
>
More information about the Qgis-developer
mailing list