Class: QgsIdentifyMenu

class qgis.gui.QgsIdentifyMenu

Bases: PyQt5.QtWidgets.QMenu

The QgsIdentifyMenu class builds a menu to be used with identify results (QgsMapToolIdentify). It is customizable and can display attribute actions (QgsAction) as well as map layer actions (see QgsMapLayerAction). It can also embed custom map layer actions, defined for this menu exclusively. If used in a QgsMapToolIdentify, it is accessible via QgsMapToolIdentify.identifyMenu() and can be customized in the map tool sub-class.

QgsIdentifyMenu(canvas: QgsMapCanvas) QgsIdentifyMenu is a menu to be used to choose within a list of QgsMapTool.IdentifyReults

Methods

actionEvent

addCustomAction

adds a new custom action to the menu

allowMultipleReturn

rtype

bool

changeEvent

childEvent

closeEvent

param e

columnCount

connectNotify

contextMenuEvent

create

customEvent

destroy

disconnectNotify

dragEnterEvent

dragLeaveEvent

dragMoveEvent

dropEvent

enterEvent

event

exec

exec

execWithSingleResult

rtype

bool

expressionContextScope

Returns an expression context scope used to resolve underlying actions.

focusInEvent

focusNextChild

focusNextPrevChild

focusOutEvent

focusPreviousChild

hideEvent

initPainter

initStyleOption

inputMethodEvent

isSignalConnected

keyPressEvent

keyReleaseEvent

leaveEvent

maxFeatureDisplay

rtype

int

maxLayerDisplay

rtype

int

metric

mouseDoubleClickEvent

mouseMoveEvent

mousePressEvent

mouseReleaseEvent

moveEvent

nativeEvent

paintEvent

receivers

removeCustomActions

remove all custom actions from the menu to be built

resizeEvent

resultsIfExternalAction

rtype

bool

sender

senderSignalIndex

setAllowMultipleReturn

define if the menu executed can return multiple results (e.g.

setExecWithSingleResult

define if the menu will be shown with a single identify result

setExpressionContextScope

Sets an expression context scope used to resolve underlying actions.

setMaxFeatureDisplay

Defines the maximum number of features displayed in the menu for vector layers (default is 10).

setMaxLayerDisplay

Defines the maximum number of layers displayed in the menu (default is 10).

setResultsIfExternalAction

setResultsIfExternalAction if set to False (default) the menu will not return any results if an external action has been triggered

setShowFeatureActions

define if attribute actions(1) and map layer actions(2) can be listed and run from the menu

sharedPainter

showEvent

showFeatureActions

rtype

bool

styleHighlight

Applies style from the settings to the highlight

tabletEvent

timerEvent

updateMicroFocus

wheelEvent

Attributes

FeatureLevel

LayerLevel

class ActionData

Bases: sip.wrapper

Constructor for ActionData

QgsIdentifyMenu.ActionData(layer: QgsMapLayer, mapLayerAction: QgsMapLayerAction = None)

QgsIdentifyMenu.ActionData(layer: QgsMapLayer, fid: int, mapLayerAction: QgsMapLayerAction = None)

QgsIdentifyMenu.ActionData(QgsIdentifyMenu.ActionData)

mAllResults
mFeatureId
mIsExternalAction
mIsValid
mLayer
mLevel
mMapLayerAction
FeatureLevel = 1
LayerLevel = 0
class MenuLevel

Bases: int

actionEvent(self, QActionEvent)
addCustomAction(self, action: QgsMapLayerAction)

adds a new custom action to the menu

Parameters

action (QgsMapLayerAction) –

allowMultipleReturn(self)bool
Return type

bool

changeEvent(self, QEvent)
childEvent(self, QChildEvent)
closeEvent(self, e: QCloseEvent)
Parameters

e (QCloseEvent) –

columnCount(self)int
connectNotify(self, QMetaMethod)
contextMenuEvent(self, QContextMenuEvent)
create(self, window: sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)
customEvent(self, QEvent)
destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True)
disconnectNotify(self, QMetaMethod)
dragEnterEvent(self, QDragEnterEvent)
dragLeaveEvent(self, QDragLeaveEvent)
dragMoveEvent(self, QDragMoveEvent)
dropEvent(self, QDropEvent)
enterEvent(self, QEvent)
event(self, QEvent)bool
exec(self, idResults: Iterable[QgsMapToolIdentify.IdentifyResult], pos: QPoint)List[QgsMapToolIdentify.IdentifyResult]

exec

Parameters
  • idResults (Iterable[QgsMapToolIdentify.IdentifyResult]) – the list of identify results to choose within

  • pos (QPoint) – the position where the menu will be executed

Return type

List[QgsMapToolIdentify.IdentifyResult]

execWithSingleResult(self)bool
Return type

bool

expressionContextScope(self)QgsExpressionContextScope

Returns an expression context scope used to resolve underlying actions.

New in version 3.0.

Return type

QgsExpressionContextScope

focusInEvent(self, QFocusEvent)
focusNextChild(self)bool
focusNextPrevChild(self, bool)bool
focusOutEvent(self, QFocusEvent)
focusPreviousChild(self)bool
hideEvent(self, QHideEvent)
initPainter(self, QPainter)
initStyleOption(self, QStyleOptionMenuItem, QAction)
inputMethodEvent(self, QInputMethodEvent)
isSignalConnected(self, QMetaMethod)bool
keyPressEvent(self, QKeyEvent)
keyReleaseEvent(self, QKeyEvent)
leaveEvent(self, QEvent)
maxFeatureDisplay(self)int
Return type

int

maxLayerDisplay(self)int
Return type

int

metric(self, QPaintDevice.PaintDeviceMetric)int
mouseDoubleClickEvent(self, QMouseEvent)
mouseMoveEvent(self, QMouseEvent)
mousePressEvent(self, QMouseEvent)
mouseReleaseEvent(self, QMouseEvent)
moveEvent(self, QMoveEvent)
nativeEvent(self, Union[QByteArray, bytes, bytearray], sip.voidptr)Tuple[bool, int]
paintEvent(self, QPaintEvent)
receivers(self, PYQT_SIGNAL)int
removeCustomActions(self)

remove all custom actions from the menu to be built

resizeEvent(self, QResizeEvent)
resultsIfExternalAction(self)bool
Return type

bool

sender(self)QObject
senderSignalIndex(self)int
setAllowMultipleReturn(self, multipleReturn: bool)

define if the menu executed can return multiple results (e.g. all results or all identified features of a vector layer)

Parameters

multipleReturn (bool) –

setExecWithSingleResult(self, execWithSingleResult: bool)

define if the menu will be shown with a single identify result

Parameters

execWithSingleResult (bool) –

setExpressionContextScope(self, scope: QgsExpressionContextScope)

Sets an expression context scope used to resolve underlying actions.

New in version 3.0.

Parameters

scope (QgsExpressionContextScope) –

setMaxFeatureDisplay(self, maxFeatureDisplay: int)

Defines the maximum number of features displayed in the menu for vector layers (default is 10).

Note

0 is unlimited.

Parameters

maxFeatureDisplay (int) –

setMaxLayerDisplay(self, maxLayerDisplay: int)

Defines the maximum number of layers displayed in the menu (default is 10).

Note

0 is unlimited.

Parameters

maxLayerDisplay (int) –

setResultsIfExternalAction(self, resultsIfExternalAction: bool)

setResultsIfExternalAction if set to False (default) the menu will not return any results if an external action has been triggered

Note

external action can be either custom actions or feature / map layer actions (setShowFeatureActions())

Parameters

resultsIfExternalAction (bool) –

setShowFeatureActions(self, showFeatureActions: bool)

define if attribute actions(1) and map layer actions(2) can be listed and run from the menu

Note

custom actions will be shown in any case if they exist.

Note

  1. attribute actions are defined by the user in the layer properties QgsAction

Note

  1. map layer actions are built-in c++ actions or actions which are defined by a Python plugin QgsMapLayerActionRegistry

Parameters

showFeatureActions (bool) –

sharedPainter(self)QPainter
showEvent(self, QShowEvent)
showFeatureActions(self)bool
Return type

bool

styleHighlight(highlight: QgsHighlight)

Applies style from the settings to the highlight

New in version 3.8.

Parameters

highlight (QgsHighlight) –

tabletEvent(self, QTabletEvent)
timerEvent(self, QTimerEvent)
updateMicroFocus(self)
wheelEvent(self, QWheelEvent)