[Qgis-developer] PyQGIS - Selecting Spatialite Datasource at runtime

Noli Sicad nsicad at gmail.com
Fri Sep 10 10:49:46 EDT 2010


Hi,

Given, this example from PyQGIS documentation.

~~~~~~~~
uri = QgsDataSourceURI()
uri.setDatabase('/home/martin/test-2.3.sqlite')
uri.setDataSource('','Towns', 'Geometry')

layer = QgsVectorLayer(uri.uri(), 'Towns', 'spatialite')
~~~~~~~~~

How do you do a runtime for the above. I want to select the table /
layer to load. How you figure out the  uri.setDataSource('',' ',
'Geometry') and  QgsVectorLayer(uri.uri(), ' ', 'Spatialite')?

~~~~~~~~
    file = QFileDialog.getOpenFileName(self,"Open Spatialite", ".",
"Spatialite (*.sqlite)")
    fileInfo = QFileInfo(file)

    uri = QgsDataSourceURI()
    uri.setDatabase(file)
    uri.setDataSource('',' ', 'Geometry')

    # Add the layer
    layer = QgsVectorLayer(uri.uri(), ' ', 'Spatialite')

~~~~~~~~~

Noli


More information about the Qgis-developer mailing list