Class: QgsMapLayerAction

class qgis.gui.QgsMapLayerAction(name: str, parent: QObject, targets: Union[QgsMapLayerAction.Targets, QgsMapLayerAction.Target] = QgsMapLayerAction.AllActions, icon: QIcon = QIcon(), flags: Union[QgsMapLayerAction.Flags, QgsMapLayerAction.Flag] = QgsMapLayerAction.Flags())

Bases: PyQt5.QtWidgets.QAction

Creates a map layer action which can run on any layer

Note

using AllActions as a target probably does not make a lot of sense. This default action was settled for API compatibility reasons.

QgsMapLayerAction(name: str, parent: QObject, layer: QgsMapLayer, targets: Union[QgsMapLayerAction.Targets, QgsMapLayerAction.Target] = QgsMapLayerAction.AllActions, icon: QIcon = QIcon(), flags: Union[QgsMapLayerAction.Flags, QgsMapLayerAction.Flag] = QgsMapLayerAction.Flags()) Creates a map layer action which can run only on a specific layer

QgsMapLayerAction(name: str, parent: QObject, layerType: QgsMapLayerType, targets: Union[QgsMapLayerAction.Targets, QgsMapLayerAction.Target] = QgsMapLayerAction.AllActions, icon: QIcon = QIcon(), flags: Union[QgsMapLayerAction.Flags, QgsMapLayerAction.Flag] = QgsMapLayerAction.Flags()) Creates a map layer action which can run on a specific type of layer

An action which can run on map layers The class can be used in two manners: * by instantiating it and connecting to its signals to perform an action * by subclassing and reimplementing its method (only since QGIS 3.18.2)

Methods

canRunUsingLayer

True if action can run using the specified layer

childEvent

connectNotify

customEvent

disconnectNotify

event

flags

Layer behavior flags.

isEnabledOnlyWhenEditable

Returns True if the action is only enabled for layers in editable mode.

isSignalConnected

receivers

sender

senderSignalIndex

setTargets

Define the targets of the action

targets

Returns availibity of action

timerEvent

triggerForFeature

Triggers the action with the specified layer and feature.

triggerForFeatures

Triggers the action with the specified layer and list of feature.

triggerForLayer

Triggers the action with the specified layer.

Signals

triggeredForFeature

Triggered when action has been run for a specific feature [signal]

triggeredForFeatures

Triggered when action has been run for a specific list of features [signal]

triggeredForLayer

Triggered when action has been run for a specific layer [signal]

Attributes

AllActions

EnabledOnlyWhenEditable

Layer

MultipleFeatures

SingleFeature

AllActions = 7
EnabledOnlyWhenEditable = 2
class Flag

Bases: int

class Flags
class Flags(Union[QgsMapLayerAction.Flags, QgsMapLayerAction.Flag])None
class Flags(QgsMapLayerAction.Flags)None

Bases: sip.wrapper

baseClass

alias of qgis._gui.QgsMapLayerAction

Layer = 1
MultipleFeatures = 4
SingleFeature = 2
class Target

Bases: int

class Targets
class Targets(Union[QgsMapLayerAction.Targets, QgsMapLayerAction.Target])None
class Targets(QgsMapLayerAction.Targets)None

Bases: sip.wrapper

baseClass

alias of qgis._gui.QgsMapLayerAction

canRunUsingLayer(self, layer: QgsMapLayer)bool

True if action can run using the specified layer

Parameters

layer (QgsMapLayer) –

Return type

bool

childEvent(self, QChildEvent)
connectNotify(self, QMetaMethod)
customEvent(self, QEvent)
disconnectNotify(self, QMetaMethod)
event(self, QEvent)bool
flags(self)QgsMapLayerAction.Flags

Layer behavior flags.

New in version 3.0.

Return type

QgsMapLayerAction.Flags

isEnabledOnlyWhenEditable(self)bool

Returns True if the action is only enabled for layers in editable mode.

New in version 3.0.

Return type

bool

isSignalConnected(self, QMetaMethod)bool
receivers(self, PYQT_SIGNAL)int
sender(self)QObject
senderSignalIndex(self)int
setTargets(self, targets: Union[QgsMapLayerAction.Targets, QgsMapLayerAction.Target])

Define the targets of the action

Parameters

targets (Union[QgsMapLayerAction.Targets) –

targets(self)QgsMapLayerAction.Targets

Returns availibity of action

Return type

QgsMapLayerAction.Targets

timerEvent(self, QTimerEvent)
triggerForFeature(self, layer: QgsMapLayer, feature: QgsFeature)

Triggers the action with the specified layer and feature.

Parameters
triggerForFeatures(self, layer: QgsMapLayer, featureList: Iterable[QgsFeature])

Triggers the action with the specified layer and list of feature.

Parameters
triggerForLayer(self, layer: QgsMapLayer)

Triggers the action with the specified layer.

Parameters

layer (QgsMapLayer) –

triggeredForFeature

Triggered when action has been run for a specific feature [signal]

Parameters
triggeredForFeatures

Triggered when action has been run for a specific list of features [signal]

Parameters
triggeredForLayer

Triggered when action has been run for a specific layer [signal]

Parameters

layer (QgsMapLayer) –