[Qgis-developer] QgsMapLayerRegistry.mapLayers() not available
in Python Bindings
Barry Rowlingson
b.rowlingson at lancaster.ac.uk
Fri Jan 11 05:40:01 EST 2008
Düster Horst wrote:
> With Python I want to get all avalilable map layers from my current
> project. I tried to do this with
>
> layerCollection = QgsMapLayerRegistry().instance().mapLayers()
>
> It doesn't work. I took a look into qgsmaplayerregistry.sip and found
> out that the method mapLayers() is not wrapped until now. What is to do
> to wrap this method. Does exists a workareound to retrieve all project
> layers.
You can get all the layers in the current map canvas from the console thus:
# get the map canvas
mc=iface.getMapCanvas()
# how many layers are there?
nLayers=mc.layerCount()
# loopage:
for l in range(nLayers):
layer = mc.getZpos(l)
doSomethingWith(layer)
- is that good enough?
Barry
More information about the Qgis-developer
mailing list