Class: QgsActionManager¶
- class qgis.core.QgsActionManager¶
Bases:
PyQt5.QtCore.QObject
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.
QgsActionManager(layer:
QgsVectorLayer
) ConstructorMethods
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
- action(self, id: QUuid) QgsAction ¶
Gets an action by its id.
New in version 3.0.
- Parameters:
id (QUuid) –
- Return type:
- actions(self, actionScope: str = '') 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.
New in version 3.0.
- Parameters:
actionScope (str = '') –
- Return type:
List[QgsAction]
- addAction(self, type: QgsAction.ActionType, name: str, command: str, capture: bool = False) QUuid ¶
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.addAction(self, type: QgsAction.ActionType, name: str, command: str, icon: str, capture: bool = False) -> QUuid 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.addAction(self, action:
QgsAction
) Add a new action to this list.- Parameters:
type (QgsAction.ActionType) –
name (str) –
command (str) –
capture (bool = False) –
- Return type:
QUuid
- childEvent(self, QChildEvent)¶
- clearActions(self)¶
Removes all actions
- connectNotify(self, QMetaMethod)¶
- customEvent(self, QEvent)¶
- defaultAction(self, actionScope: str) QgsAction ¶
Each scope can have a default action. This will be saved in the project file.
New in version 3.0.
- Parameters:
actionScope (str) –
- Return type:
- disconnectNotify(self, QMetaMethod)¶
- doAction(self, actionId: QUuid, feature: QgsFeature, context: QgsExpressionContext)¶
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
Note
available in Python bindings as doActionFeature
- isSignalConnected(self, QMetaMethod) bool ¶
- layer(self) QgsVectorLayer ¶
Returns the layer
- Return type:
- readXml(self, layer_node: QDomNode) bool ¶
Reads the actions in in XML format
- Parameters:
layer_node (QDomNode) –
- Return type:
bool
- receivers(self, PYQT_SIGNAL) int ¶
- removeAction(self, actionId: QUuid)¶
Remove an action by its id.
New in version 3.0.
- Parameters:
actionId (QUuid) –
- sender(self) QObject ¶
- senderSignalIndex(self) int ¶
- setDefaultAction(self, actionScope: str, actionId: QUuid)¶
Each scope can have a default action. This will be saved in the project file.
New in version 3.0.
- Parameters:
actionScope (str) –
actionId (QUuid) –
- timerEvent(self, QTimerEvent)¶
- writeXml(self, layer_node: QDomNode) bool ¶
Writes the actions out in XML format
- Parameters:
layer_node (QDomNode) –
- Return type:
bool