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).Methods
Creates a new scope which contains variables and functions relating to a
QgsLayoutAtlas
.Helper function for creating an expression context which contains just a feature and fields collection.
Creates a new scope which contains functions and variables from the current attribute form/table
formFeature
.Creates a list of three scopes: global, layer’s project and layer.
Creates a new scope which contains variables and functions relating to the global QGIS context.
Creates a new scope which contains variables and functions relating to a
QgsMapLayer
.Creates a new scope which contains variables and functions relating to a
QgsLayoutItem
.Creates a new scope which contains variables and functions relating to a
QgsLayout
layout
.Creates a new scope which contains variables and functions relating to a
QgsMapSettings
object.Sets the expression context variables which are available for expressions triggered by a map tool capture like add feature.
Creates a new scope which contains variables and functions relating to a
QgsLayoutMultiFrame
.Creates a new scope which contains variables and functions relating to provider notifications
Creates a new scope which contains functions and variables from the current parent attribute form/table
formFeature
.Creates a new scope which contains variables and functions relating to a processing
algorithm
, when used with the specifiedparameters
andcontext
.Creates a new scope which contains variables and functions relating to a processing
model
algorithm, when used with the specifiedparameters
andcontext
.Creates a new scope which contains variables and functions relating to a QGIS project.
Registers all known core functions provided by
QgsExpressionContextScope
objects.Remove a global context variable.
Remove project context variable.
Sets a global context variable.
Sets all global context variables.
Sets a layer context variable.
Sets all layer context variables.
Sets a layout
item
context variable, with the givenname
andvalue
.Sets all layout item context variables for an
item
.Sets a layout multi
frame
context variable, with the givenname
andvalue
.Sets all layout multiframe context variables for an
frame
.Sets a layout context variable.
Sets all layout context variables.
Sets a project context variable.
Sets all project context variables.
Updates a symbol scope related to a
QgsSymbol
to an expression context.-
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 (QgsLayoutAtlas) – source atlas. If
None
, a set of default atlas variables will be added to the scope.- Return type
-
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.
- Parameters
feature (QgsFeature) –
fields (QgsFields) –
- Return type
-
formScope
(formFeature: QgsFeature = QgsFeature(), formMode: str = '') → QgsExpressionContextScope¶ Creates a new scope which contains functions and variables from the current attribute form/table
formFeature
. The variables and values in this scope will reflect the current state of the form/row being edited. TheformMode
(SingleEditMode etc.) is passed as textNew in version 3.2.
- Parameters
formFeature (
QgsFeature
= QgsFeature()) –formMode (str = '') –
- Return type
-
globalProjectLayerScopes
(layer: QgsMapLayer) → List[QgsExpressionContextScope]¶ Creates a list of three scopes: global, layer’s project and layer.
New in version 3.0.
- Parameters
layer (QgsMapLayer) –
- Return type
-
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
- Return type
-
layerScope
(layer: QgsMapLayer) → QgsExpressionContextScope¶ Creates a new scope which contains variables and functions relating to a
QgsMapLayer
. For instance, layer name, id and fields.- Parameters
layer (QgsMapLayer) –
- Return type
-
layoutItemScope
(item: QgsLayoutItem) → QgsExpressionContextScope¶ Creates a new scope which contains variables and functions relating to a
QgsLayoutItem
. For instance, item size and position.See also
See also
New in version 3.0.
- Parameters
item (QgsLayoutItem) –
- Return type
-
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.
- Parameters
layout (QgsLayout) –
- Return type
-
mapSettingsScope
(mapSettings: QgsMapSettings) → QgsExpressionContextScope¶ Creates a new scope which contains variables and functions relating to a
QgsMapSettings
object. For instance, map scale and rotation.- Parameters
mapSettings (QgsMapSettings) –
- Return type
-
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.
- Parameters
matches (Iterable[QgsPointLocator.Match]) –
- Return type
-
multiFrameScope
(frame: QgsLayoutMultiFrame) → QgsExpressionContextScope¶ Creates a new scope which contains variables and functions relating to a
QgsLayoutMultiFrame
.See also
See also
New in version 3.10.
- Parameters
frame (QgsLayoutMultiFrame) –
- Return type
-
notificationScope
(message: str = '') → QgsExpressionContextScope¶ Creates a new scope which contains variables and functions relating to provider notifications
- Parameters
message (str = '') – the notification message
- Return type
-
parentFormScope
(formFeature: QgsFeature = QgsFeature(), formMode: str = '') → QgsExpressionContextScope¶ Creates a new scope which contains functions and variables from the current parent attribute form/table
formFeature
. The variables and values in this scope will reflect the current state of the parent form/row being edited. TheformMode
(SingleEditMode etc.) is passed as textNew in version 3.14.
- Parameters
formFeature (
QgsFeature
= QgsFeature()) –formMode (str = '') –
- Return type
-
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.See also
- Parameters
algorithm (QgsProcessingAlgorithm) –
parameters (Dict[str) –
context (QgsProcessingContext) –
- Return type
-
processingModelAlgorithmScope
(model: QgsProcessingModelAlgorithm, parameters: Dict[str, Any], context: QgsProcessingContext) → QgsExpressionContextScope¶ Creates a new scope which contains variables and functions relating to a processing
model
algorithm, when used with the specifiedparameters
andcontext
. For instance, model name and path variables.New in version 3.6.
- Parameters
model (QgsProcessingModelAlgorithm) –
parameters (Dict[str) –
context (QgsProcessingContext) –
- Return type
-
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 (QgsProject) – What project to use
See also
- Return type
-
registerContextFunctions
()¶ Registers all known core functions provided by
QgsExpressionContextScope
objects.
-
removeGlobalVariable
(name: str)¶ Remove a global context variable.
- Parameters
name (str) – variable name
See also
See also
See also
-
removeProjectVariable
(project: QgsProject, name: str)¶ Remove project context variable.
- Parameters
project (QgsProject) – Project to apply changes to
name (str) – 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 (str) – variable name
value (Any) – 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 (Dict[str) – 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 (QgsMapLayer) – map layer
name (str) – variable name
value (Any) – 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 (QgsMapLayer) – map layer
variables (Dict[str) – 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 vialayoutItemScope()
.See also
See also
New in version 3.0.
- Parameters
item (QgsLayoutItem) –
name (str) –
value (Any) –
-
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.
- Parameters
item (QgsLayoutItem) –
variables (Dict[str) –
-
setLayoutMultiFrameVariable
(frame: QgsLayoutMultiFrame, name: str, value: Any)¶ Sets a layout multi
frame
context variable, with the givenname
andvalue
. This variable will be contained within scopes retrieved viamultiFrameScope()
.See also
See also
New in version 3.10.
- Parameters
frame (QgsLayoutMultiFrame) –
name (str) –
value (Any) –
-
setLayoutMultiFrameVariables
(frame: QgsLayoutMultiFrame, variables: Dict[str, Any])¶ Sets all layout multiframe context variables for an
frame
. Existing variables will be removed and replaced with thevariables
specified.See also
See also
New in version 3.10.
- Parameters
frame (QgsLayoutMultiFrame) –
variables (Dict[str) –
-
setLayoutVariable
(layout: QgsLayout, name: str, value: Any)¶ Sets a layout context variable. This variable will be contained within scopes retrieved via
layoutScope()
.- Parameters
layout (QgsLayout) – target layout
name (str) – variable name
value (Any) – 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 (QgsLayout) – target layout
variables (Dict[str) – 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 (QgsProject) – Project to apply changes to
name (str) – variable name
value (Any) – 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 (QgsProject) – Project to apply changes to
variables (Dict[str) – 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 (QgsSymbol) – symbol to extract properties from
symbolScope (
QgsExpressionContextScope
= None) – pointer to an existing scope to update
New in version 2.14.
- Return type
-