Subgroup: Expression
Class: QgsExpressionContextUtils¶
-
class
qgis.core.
QgsExpressionContextUtils
¶ Bases:
sip.wrapper
Contains utilities for working with QgsExpressionContext objects, including methods for creating scopes for specific uses (e.g., project scopes, layer scopes).
New in version 2.12: Methods
atlasScope
Creates a new scope which contains variables and functions relating to a QgsLayoutAtlas
.createFeatureBasedContext
Helper function for creating an expression context which contains just a feature and fields collection. globalProjectLayerScopes
Creates a list of three scopes: global, layer’s project and layer. globalScope
Creates a new scope which contains variables and functions relating to the global QGIS context. layerScope
Creates a new scope which contains variables and functions relating to a QgsMapLayer
.layoutItemScope
Creates a new scope which contains variables and functions relating to a QgsLayoutItem
.layoutScope
Creates a new scope which contains variables and functions relating to a QgsLayout
layout
.mapSettingsScope
Creates a new scope which contains variables and functions relating to a QgsMapSettings object. mapToolCaptureScope
Sets the expression context variables which are available for expressions triggered by a map tool capture like add feature. notificationScope
Creates a new scope which contains variables and functions relating to provider notifications processingAlgorithmScope
Creates a new scope which contains variables and functions relating to a processing algorithm
, when used with the specifiedparameters
andcontext
.projectScope
Creates a new scope which contains variables and functions relating to a QGIS project. registerContextFunctions
Registers all known core functions provided by QgsExpressionContextScope objects. removeGlobalVariable
Remove a global context variable. removeProjectVariable
Remove project context variable. setGlobalVariable
Sets a global context variable. setGlobalVariables
Sets all global context variables. setLayerVariable
Sets a layer context variable. setLayerVariables
Sets all layer context variables. setLayoutItemVariable
Sets a layout item
context variable, with the givenname
andvalue
.setLayoutItemVariables
Sets all layout item context variables for an item
.setLayoutVariable
Sets a layout context variable. setLayoutVariables
Sets all layout context variables. setProjectVariable
Sets a project context variable. setProjectVariables
Sets all project context variables. updateSymbolScope
Updates a symbol scope related to a QgsSymbol to an expression context. Attributes
-
atlasScope
(atlas: QgsLayoutAtlas) → QgsExpressionContextScope¶ Creates a new scope which contains variables and functions relating to a
QgsLayoutAtlas
. For instance, current page name and number.Parameters: atlas – source atlas. If null, a set of default atlas variables will be added to the scope.
-
createFeatureBasedContext
(feature: QgsFeature, fields: QgsFields) → QgsExpressionContext¶ Helper function for creating an expression context which contains just a feature and fields collection. Generally this method should not be used as the created context does not include standard scopes such as the global and project scopes.
-
globalProjectLayerScopes
(layer: QgsMapLayer) → List[QgsExpressionContextScope]¶ Creates a list of three scopes: global, layer’s project and layer.
New in version 3.0.
-
globalScope
() → QgsExpressionContextScope¶ Creates a new scope which contains variables and functions relating to the global QGIS context. For instance, QGIS version numbers and variables specified through QGIS options.
See also
-
layerScope
(layer: QgsMapLayer) → QgsExpressionContextScope¶ Creates a new scope which contains variables and functions relating to a
QgsMapLayer
. For instance, layer name, id and fields.
-
layoutItemScope
(item: QgsLayoutItem) → QgsExpressionContextScope¶ Creates a new scope which contains variables and functions relating to a
QgsLayoutItem
. For instance, item size and position.New in version 3.0.
See also
See also
-
layoutScope
(layout: QgsLayout) → QgsExpressionContextScope¶ Creates a new scope which contains variables and functions relating to a
QgsLayout
layout
. For instance, number of pages and page sizes.New in version 3.0.
-
mapSettingsScope
(mapSettings: QgsMapSettings) → QgsExpressionContextScope¶ Creates a new scope which contains variables and functions relating to a QgsMapSettings object. For instance, map scale and rotation.
-
mapToolCaptureScope
(matches: Iterable[QgsPointLocator.Match]) → QgsExpressionContextScope¶ Sets the expression context variables which are available for expressions triggered by a map tool capture like add feature.
New in version 3.0.
-
notificationScope
(message: str = '') → QgsExpressionContextScope¶ Creates a new scope which contains variables and functions relating to provider notifications
Parameters: message – the notification message
-
processingAlgorithmScope
(algorithm: QgsProcessingAlgorithm, parameters: Dict[str, Any], context: QgsProcessingContext) → QgsExpressionContextScope¶ Creates a new scope which contains variables and functions relating to a processing
algorithm
, when used with the specifiedparameters
andcontext
. For instance, algorithm name and parameter functions.
-
projectScope
(project: QgsProject) → QgsExpressionContextScope¶ Creates a new scope which contains variables and functions relating to a QGIS project. For instance, project path and title, and variables specified through the project properties.
Parameters: project – What project to use See also
-
registerContextFunctions
()¶ Registers all known core functions provided by QgsExpressionContextScope objects.
-
removeGlobalVariable
(name: str)¶ Remove a global context variable.
Parameters: name – variable name See also
See also
See also
-
removeProjectVariable
(project: QgsProject, name: str)¶ Remove project context variable.
Parameters: - project – Project to apply changes to
- name – variable name
See also
See also
See also
-
setGlobalVariable
(name: str, value: Any)¶ Sets a global context variable. This variable will be contained within scopes retrieved via globalScope().
Parameters: - name – variable name
- value – variable value
See also
See also
See also
-
setGlobalVariables
(variables: Dict[str, Any])¶ Sets all global context variables. Existing global variables will be removed and replaced with the variables specified.
Parameters: variables – new set of global variables See also
See also
See also
-
setLayerVariable
(layer: QgsMapLayer, name: str, value: Any)¶ Sets a layer context variable. This variable will be contained within scopes retrieved via layerScope().
Parameters: - layer – map layer
- name – variable name
- value – variable value
See also
See also
-
setLayerVariables
(layer: QgsMapLayer, variables: Dict[str, Any])¶ Sets all layer context variables. Existing layer variables will be removed and replaced with the variables specified.
Parameters: - layer – map layer
- variables – new set of layer variables
See also
See also
-
setLayoutItemVariable
(item: QgsLayoutItem, name: str, value: Any)¶ Sets a layout
item
context variable, with the givenname
andvalue
. This variable will be contained within scopes retrieved via layoutItemScope().See also
See also
New in version 3.0.
-
setLayoutItemVariables
(item: QgsLayoutItem, variables: Dict[str, Any])¶ Sets all layout item context variables for an
item
. Existing variables will be removed and replaced with thevariables
specified.See also
See also
New in version 3.0.
-
setLayoutVariable
(layout: QgsLayout, name: str, value: Any)¶ Sets a layout context variable. This variable will be contained within scopes retrieved via layoutScope().
Parameters: - layout – target layout
- name – variable name
- value – variable value
See also
See also
New in version 3.0.
-
setLayoutVariables
(layout: QgsLayout, variables: Dict[str, Any])¶ Sets all layout context variables. Existing layout variables will be removed and replaced with the variables specified.
Parameters: - layout – target layout
- variables – new set of layer variables
See also
See also
New in version 3.0.
-
setProjectVariable
(project: QgsProject, name: str, value: Any)¶ Sets a project context variable. This variable will be contained within scopes retrieved via projectScope().
Parameters: - project – Project to apply changes to
- name – variable name
- value – variable value
See also
See also
See also
-
setProjectVariables
(project: QgsProject, variables: Dict[str, Any])¶ Sets all project context variables. Existing project variables will be removed and replaced with the variables specified.
Parameters: - project – Project to apply changes to
- variables – new set of project variables
See also
See also
See also
-
updateSymbolScope
(symbol: QgsSymbol, symbolScope: QgsExpressionContextScope = None) → QgsExpressionContextScope¶ Updates a symbol scope related to a QgsSymbol to an expression context.
Parameters: - symbol – symbol to extract properties from
- symbolScope – pointer to an existing scope to update
New in version 2.14.
-