Class: QgsActionManager¶
Storage and management of actions associated with a layer.
Actions can trigger custom code or applications to be executed based on attributes of a given feature.
Class Hierarchy¶
Base classes¶
Methods
Gets an action by its id. |
|
Returns a list of actions that are available in the given action scope. |
|
Add an action with the given name and action details. |
|
Removes all actions |
|
Each scope can have a default action. |
|
Does the action using the expression engine to replace any embedded expressions in the action definition. |
|
Does the given action. |
|
Returns the layer |
|
Reads the actions in in XML format |
|
Remove an action by its id. |
|
Each scope can have a default action. |
|
Writes the actions out in XML format |
- class qgis.core.QgsActionManager[source]¶
Bases:
QObject
- __init__(layer: QgsVectorLayer | None)
Constructor
- Parameters:
layer (Optional[QgsVectorLayer])
- action(self, id: QUuid) QgsAction [source]¶
Gets an action by its
id
.- Parameters:
id (QUuid)
- Return type:
- action(self, id: str | None) QgsAction [source]
Gets an action by its
id
.Added in version 3.28.
- Parameters:
id (Optional[str])
- Return type:
- actions(self, actionScope: str | None = '') List[QgsAction] ¶
Returns a list of actions that are available in the given action scope. If no action scope is provided, all actions will be returned.
- Parameters:
actionScope (Optional[str] = '')
- Return type:
List[QgsAction]
- addAction(self, type: Qgis.AttributeActionType, name: str | None, command: str | None, capture: bool = False) QUuid [source]¶
Add an action with the given name and action details. Will happily have duplicate names and actions. If capture is
True
, when running the action usingdoAction()
, any stdout from the process will be captured and displayed in a dialog box.- Parameters:
type (Qgis.AttributeActionType)
name (Optional[str])
command (Optional[str])
capture (bool = False)
- Return type:
QUuid
- addAction(self, type: Qgis.AttributeActionType, name: str | None, command: str | None, icon: str | None, capture: bool = False) QUuid [source]
Add an action with the given name and action details. Will happily have duplicate names and actions. If capture is
True
, when running the action usingdoAction()
, any stdout from the process will be captured and displayed in a dialog box.- Parameters:
type (Qgis.AttributeActionType)
name (Optional[str])
command (Optional[str])
icon (Optional[str])
capture (bool = False)
- Return type:
QUuid
- addAction(self, action: QgsAction)[source]
Add a new action to this list.
- Parameters:
action (
QgsAction
)
- defaultAction(self, actionScope: str | None) QgsAction [source]¶
Each scope can have a default action. This will be saved in the project file.
- Parameters:
actionScope (Optional[str])
- Return type:
- doAction(self, actionId: QUuid, feature: QgsFeature, context: QgsExpressionContext)[source]¶
Does the action using the expression engine to replace any embedded expressions in the action definition.
- Parameters:
actionId (QUuid) – action id
feature (QgsFeature) – feature to run action for
context (QgsExpressionContext) – expression context to evaluate expressions under
- doActionFeature(self, actionId: QUuid, feature: QgsFeature, defaultValueIndex: int = 0, scope: QgsExpressionContextScope = QgsExpressionContextScope())¶
Does the given action.
- Parameters:
actionId (QUuid) – action id
feature (QgsFeature) – feature to run action for
defaultValueIndex (int = 0) – index of the field to be used if the action has a $currfield placeholder.
scope (
QgsExpressionContextScope
= QgsExpressionContextScope()) – expression context scope to add during expression evaluation
- layer(self) QgsVectorLayer | None [source]¶
Returns the layer
- Return type:
Optional[QgsVectorLayer]
- readXml(self, layer_node: QDomNode) bool [source]¶
Reads the actions in in XML format
- Parameters:
layer_node (QDomNode)
- Return type:
bool
- removeAction(self, actionId: QUuid)[source]¶
Remove an action by its id.
- Parameters:
actionId (QUuid)