Class: QgsMapLayerStore¶
-
class
qgis.core.
QgsMapLayerStore
(parent: QObject = None)¶ Bases:
PyQt5.QtCore.QObject
Constructor for QgsMapLayerStore.
A storage object for map layers, in which the layers are owned by the store and have their lifetime bound to the store.
New in version 3.0.
- Parameters
parent –
-
addMapLayer
(self, layer: QgsMapLayer) → QgsMapLayer¶ Add a
layer
to the store. Ownership of the layer is transferred to the store.The
layersAdded()
andlayerWasAdded()
signals will always be emitted. If you are adding multiple layers at once, you should useaddMapLayers()
instead.- Parameters
layer (QgsMapLayer) – A layer to add to the store
- Return type
- Returns
None
if unable to add layer, otherwise pointer to newly added layer
See also
Note
Use
addMapLayers()
if adding more than one layer at a time.See also
-
addMapLayers
(self, layers: Iterable[QgsMapLayer]) → List[QgsMapLayer]¶ Add a list of
layers
to the store. Ownership of the layers is transferred to the store.The
layersAdded()
andlayerWasAdded()
signals will always be emitted.- Parameters
layers (Iterable[QgsMapLayer]) – A list of layer which should be added to the store.
Note
If a layer with the same id is already in the store it is not added again, but if the validity of the layer has changed from
False
toTrue
, the layer data source is updated to the new one.- Return type
List[QgsMapLayer]
- Returns
a list of the map layers that were added successfully. If a layer already exists in the store, it will not be part of the returned list.
See also
-
allLayersRemoved
¶ Emitted when all layers are removed, before
layersWillBeRemoved()
andlayerWillBeRemoved()
signals are emitted. ThelayersWillBeRemoved()
andlayerWillBeRemoved()
signals will still be emitted following this signal. You can use this signal to do easy (and fast) cleanup. [signal]
-
childEvent
(self, QChildEvent)¶
-
connectNotify
(self, QMetaMethod)¶
-
count
(self) → int¶ Returns the number of layers contained in the store.
- Return type
int
-
customEvent
(self, QEvent)¶
-
disconnectNotify
(self, QMetaMethod)¶
-
isSignalConnected
(self, QMetaMethod) → bool¶
-
layerRemoved
¶ Emitted after a layer was removed from the store.
- Parameters
layerId (str) – The ID of the layer removed.
Note
Consider using
layersRemoved()
insteadSee also
layerWillBeRemoved()
[signal]
-
layerWasAdded
¶ Emitted when a
layer
was added to the store.Note
Consider using
layersAdded()
insteadSee also
layersAdded()
[signal]- Parameters
layer (QgsMapLayer) –
-
layerWillBeRemoved
¶ Emitted when a layer is about to be removed from the store.
- Parameters
layerId (str) – The ID of the layer to be removed.
Note
Consider using
layersWillBeRemoved()
instead.See also
See also
layerRemoved()
[signal]layerWillBeRemoved(self, layer:
QgsMapLayer
) Emitted when a layer is about to be removed from the store.- Parameters
layer – The layer to be removed.
Note
Consider using
layersWillBeRemoved()
instead.See also
See also
layerRemoved()
[signal]
-
layersAdded
¶ Emitted when one or more layers were added to the store.
- Parameters
layers (Iterable[QgsMapLayer]) – List of layers which have been added.
See also
layerWasAdded()
[signal]
-
layersRemoved
¶ Emitted after one or more layers were removed from the store.
- Parameters
layerIds (Iterable[str]) – A list of IDs of the layers which were removed.
See also
layersWillBeRemoved()
[signal]
-
layersWillBeRemoved
¶ Emitted when one or more layers are about to be removed from the store.
- Parameters
layerIds (Iterable[str]) – A list of IDs for the layers which are to be removed.
See also
See also
layersRemoved()
[signal]layersWillBeRemoved(self, layers: Iterable[QgsMapLayer]) Emitted when one or more layers are about to be removed from the store.
- Parameters
layers – A list of layers which are to be removed.
See also
See also
layersRemoved()
[signal]
-
mapLayer
(self, id: str) → QgsMapLayer¶ Retrieve a pointer to a layer by layer
id
.- Parameters
id (str) – ID of layer to retrieve
- Return type
- Returns
matching layer, or
None
if no matching layer found
See also
See also
-
mapLayers
(self) → object¶ Returns a map of all layers by layer ID.
See also
See also
See also
layers()
- Return type
object
-
mapLayersByName
(self, name: str) → List[QgsMapLayer]¶ Retrieve a list of matching layers by layer
name
.- Parameters
name (str) – name of layers to match
- Return type
List[QgsMapLayer]
- Returns
list of matching layers
See also
See also
-
receivers
(self, PYQT_SIGNAL) → int¶
-
removeAllMapLayers
(self)¶ Removes all registered layers. These layers will also be deleted.
Note
Calling this method will cause the
removeAll()
signal to be emitted.See also
See also
-
removeMapLayer
(self, id: str)¶ Remove a layer from the store by layer
id
.The specified layer will be removed from the store. The layer will also be deleted.
- Parameters
id (str) – ID of the layer to remove
See also
See also
See also
removeMapLayer(self, layer:
QgsMapLayer
) Remove alayer
from the store.The specified layer will be removed from the store. The layer will also be deleted.
- Parameters
layer – The layer to remove.
None
values are ignored.
See also
See also
See also
-
removeMapLayers
(self, layers: Iterable[QgsMapLayer])¶ Remove a set of
layers
from the store.The specified layers will be removed from the store. These layers will also be deleted.
- Parameters
layers (Iterable[QgsMapLayer]) – A list of layers to remove.
None
values are ignored.
See also
See also
See also
-
removeMapLayersById
(self, layerIds: Iterable[str])¶ Remove a set of layers from the store by layer ID.
The specified layers will be removed from the store. These layers will also be deleted.
- Parameters
layerIds (Iterable[str]) – list of IDs of the layers to remove
See also
See also
See also
Note
available in Python bindings as removeMapLayersById.
-
sender
(self) → QObject¶
-
senderSignalIndex
(self) → int¶
-
takeMapLayer
(self, layer: QgsMapLayer) → QgsMapLayer¶ Takes a
layer
from the store. If the layer was owned by the store, the layer will be returned without deleting it. The caller takes ownership of the layer and is responsible for deleting it.See also
- Parameters
layer (QgsMapLayer) –
- Return type
-
timerEvent
(self, QTimerEvent)¶
-
transferLayersFromStore
(self, other: QgsMapLayerStore)¶ Transfers all the map layers contained within another map layer store and adds them to this store. Note that
other
and this store must have the same thread affinity.- Parameters
other (QgsMapLayerStore) –
-
validCount
(self) → int¶ Returns the number of valid layers contained in the store.
New in version 3.6.
- Return type
int
-
validMapLayers
(self) → object¶ Returns a map of all valid layers by layer ID.
See also
See also
See also
layers()
New in version 3.6.
- Return type
object