Class: QgsMapThemeCollection¶
-
class
qgis.core.
QgsMapThemeCollection
(project: QgsProject = None)¶ Bases:
PyQt5.QtCore.QObject
Create map theme collection that handles themes of the given project.
Container class that allows storage of map themes consisting of visible map layers and layer styles.
New in version 2.12.
- Parameters
project –
-
class
MapThemeLayerRecord
(l: QgsMapLayer = None)¶ Bases:
sip.wrapper
Initialize layer record with a map layer - it will be stored as a weak pointer
QgsMapThemeCollection.MapThemeLayerRecord(QgsMapThemeCollection.MapThemeLayerRecord)
Individual record of a visible layer in a map theme record.
New in version 3.0.
- Parameters
l (
QgsMapLayer
= None) –
-
checkedLegendItems
¶
-
currentStyle
¶
-
expandedLayerNode
¶
-
expandedLegendItems
¶
-
layer
(self) → QgsMapLayer¶ Returns map layer or null if the layer does not exist anymore
- Return type
-
setLayer
(self, layer: QgsMapLayer)¶ Sets the map layer for this record
- Parameters
layer (QgsMapLayer) –
-
usingCurrentStyle
¶
-
usingLegendItems
¶
-
class
MapThemeRecord
¶ Bases:
sip.wrapper
Individual map theme record of visible layers and styles.
New in version 3.0.
-
addLayerRecord
(self, record: QgsMapThemeCollection.MapThemeLayerRecord)¶ Add a new record for a layer.
- Parameters
record (QgsMapThemeCollection.MapThemeLayerRecord) –
-
expandedGroupNodes
(self) → Set[str]¶ Returns a set of group identifiers for group nodes that should have expanded state (other group nodes should be collapsed). The returned value is valid only when hasExpandedStateInfo() returns true. Group identifiers are built using group names, a sub-group name is prepended by parent group’s identifier and a forward slash, e.g. “level1/level2”
New in version 3.2.
- Return type
Set[str]
-
hasExpandedStateInfo
(self) → bool¶ Returns whether information about expanded/collapsed state of nodes has been recorded and thus whether expandedGroupNodes() and expandedLegendItems + expandedLayerNode from layer records are valid.
New in version 3.2.
- Return type
bool
-
layerRecords
(self) → object¶ Returns a list of records for all visible layer belonging to the theme.
- Return type
object
-
removeLayerRecord
(self, layer: QgsMapLayer)¶ Removes a record for
layer
if present.- Parameters
layer (QgsMapLayer) –
-
setExpandedGroupNodes
(self, expandedGroupNodes: Iterable[str])¶ Sets a set of group identifiers for group nodes that should have expanded state. See expandedGroupNodes().
New in version 3.2.
- Parameters
expandedGroupNodes (Iterable[str]) –
-
setHasExpandedStateInfo
(self, hasInfo: bool)¶ Sets whether the map theme contains valid expanded/collapsed state of nodes
New in version 3.2.
- Parameters
hasInfo (bool) –
-
setLayerRecords
(self, records: Iterable[QgsMapThemeCollection.MapThemeLayerRecord])¶ Sets layer records for the theme.
- Parameters
records (Iterable[QgsMapThemeCollection.MapThemeLayerRecord]) –
-
-
applyTheme
(self, name: str, root: QgsLayerTreeGroup, model: QgsLayerTreeModel)¶ Apply theme given by its name and modify layer tree, current style of layers and checked legend items of passed layer tree model.
New in version 3.0.
- Parameters
name (str) –
root (QgsLayerTreeGroup) –
model (QgsLayerTreeModel) –
-
childEvent
()¶
-
clear
(self)¶ Remove all map themes from the collection.
-
connectNotify
()¶
-
createThemeFromCurrentState
(root: QgsLayerTreeGroup, model: QgsLayerTreeModel) → QgsMapThemeCollection.MapThemeRecord¶ Static method to create theme from the current state of layer visibilities in layer tree, current style of layers and check state of legend items (from a layer tree model).
New in version 3.0.
- Parameters
root (QgsLayerTreeGroup) –
model (QgsLayerTreeModel) –
- Return type
-
customEvent
()¶
-
disconnectNotify
()¶
-
hasMapTheme
(self, name: str) → bool¶ Returns whether a map theme with a matching name exists.
New in version 3.0.
- Parameters
name (str) –
- Return type
bool
-
insert
(self, name: str, state: QgsMapThemeCollection.MapThemeRecord)¶ Inserts a new map theme to the collection.
See also
- Parameters
name (str) –
state (QgsMapThemeCollection.MapThemeRecord) –
-
isSignalConnected
()¶
-
mapThemeChanged
¶ Emitted when a map theme changes definition.
New in version 3.0: [signal]
-
mapThemeState
(self, name: str) → QgsMapThemeCollection.MapThemeRecord¶ Returns the recorded state of a map theme.
New in version 3.0.
- Parameters
name (str) –
- Return type
-
mapThemeStyleOverrides
(self, name: str) → Dict[str, str]¶ Gets layer style overrides (for
QgsMapSettings
) of the visible layers for given map theme.New in version 3.0.
- Parameters
name (str) –
- Return type
Dict[str, str]
-
mapThemeVisibleLayerIds
(self, name: str) → List[str]¶ Returns the list of layer IDs that are visible for the specified map theme.
Note
The order of the returned list is not guaranteed to reflect the order of layers in the canvas.
New in version 3.0.
- Parameters
name (str) –
- Return type
List[str]
-
mapThemeVisibleLayers
(self, name: str) → List[QgsMapLayer]¶ Returns the list of layers that are visible for the specified map theme.
Note
The order of the returned list is not guaranteed to reflect the order of layers in the canvas.
New in version 3.0.
- Parameters
name (str) –
- Return type
List[QgsMapLayer]
-
mapThemes
(self) → List[str]¶ Returns a list of existing map theme names.
New in version 3.0.
- Return type
List[str]
-
mapThemesChanged
¶ Emitted when map themes within the collection are changed.
New in version 3.0: [signal]
-
masterLayerOrder
(self) → List[QgsMapLayer]¶ Returns the master layer order (this will always match the project’s QgsProject.layerOrder() ). All map themes will maintain the same layer order as the master layer order.
See also
New in version 3.0.
- Return type
List[QgsMapLayer]
-
masterVisibleLayers
(self) → List[QgsMapLayer]¶ Returns the master list of visible layers. The order of returned layers will always match those of masterLayerOrder(), but the returned layers are filtered to only include those visible in the project’s layer tree.
See also
New in version 3.0.
- Return type
List[QgsMapLayer]
-
project
(self) → QgsProject¶ The
QgsProject
on which this map theme collection works.New in version 3.0.
- Return type
-
projectChanged
¶ Emitted when the project changes
copydoc project()
New in version 3.0: [signal]
-
readXml
(self, doc: QDomDocument)¶ Reads the map theme collection state from XML
- Parameters
doc (QDomDocument) – DOM document
See also
-
receivers
()¶
-
removeMapTheme
(self, name: str)¶ Remove an existing map theme from collection.
New in version 3.0.
- Parameters
name (str) –
-
sender
()¶
-
senderSignalIndex
()¶
-
setProject
(self, project: QgsProject)¶ copydoc project()
New in version 3.0.
- Parameters
project (QgsProject) –
-
timerEvent
()¶
-
update
(self, name: str, state: QgsMapThemeCollection.MapThemeRecord)¶ Updates a map theme within the collection.
- Parameters
name (str) – name of map theme to update
state (QgsMapThemeCollection.MapThemeRecord) – map theme record to replace existing map theme
See also