Class: QgsLayoutViewTool

class qgis.gui.QgsLayoutViewTool(view: QgsLayoutView, name: str)

Bases: PyQt5.QtCore.QObject

Constructor for QgsLayoutViewTool, taking a layout view and tool name as parameters.

Abstract base class for all layout view tools. Layout view tools are user interactive tools for manipulating and adding items to QgsLayoutView widgets.

New in version 3.0: Enums

Methods

action

Returns the action associated with the tool or None if no action is associated.

activate

Called when tool is set as the currently active layout tool.

childEvent

connectNotify

customEvent

deactivate

Called when tool is deactivated.

disconnectNotify

flags

Returns the current combination of flags set for the tool.

ignoredSnapItems

Returns a list of items which should be ignored while snapping events for this tool.

isClickAndDrag

Returns true if a mouse press/release operation which started at startViewPoint and ended at endViewPoint should be considered a “click and drag”.

isSignalConnected

keyPressEvent

Key press event for overriding.

keyReleaseEvent

Key release event for overriding.

layout

Returns the layout associated with the tool.

layoutDoubleClickEvent

Mouse double-click event for overriding.

layoutMoveEvent

Mouse move event for overriding.

layoutPressEvent

Mouse press event for overriding.

layoutReleaseEvent

Mouse release event for overriding.

receivers

sender

senderSignalIndex

setAction

Associates an action with this tool.

setCursor

Sets a user defined cursor for use when the tool is active.

setFlags

Sets the combination of flags that will be used for the tool.

timerEvent

toolName

Returns a user-visible, translated name for the tool.

view

Returns the view associated with the tool.

wheelEvent

Mouse wheel event for overriding.

Signals

activated

Emitted when the tool is activated.

deactivated

Emitted when the tool is deactivated.

itemFocused

Emitted when an item is “focused” by the tool, i.e.

Attributes

FlagSnaps

class Flag

Bases: int

FlagSnaps = 2
class Flags

Bases: sip.wrapper

QgsLayoutViewTool.Flags(Union[QgsLayoutViewTool.Flags, QgsLayoutViewTool.Flag]) QgsLayoutViewTool.Flags(QgsLayoutViewTool.Flags)

action(self) → QAction

Returns the action associated with the tool or None if no action is associated.

See also

setAction()

activate(self)

Called when tool is set as the currently active layout tool. Overridden implementations must take care to call the base class implementation.

activated

Emitted when the tool is activated. [signal]

childEvent()
connectNotify()
customEvent()
deactivate(self)

Called when tool is deactivated. Overridden implementations must take care to call the base class implementation.

deactivated

Emitted when the tool is deactivated. [signal]

disconnectNotify()
flags(self) → QgsLayoutViewTool.Flags

Returns the current combination of flags set for the tool.

See also

setFlags()

ignoredSnapItems(self) → List[QgsLayoutItem]

Returns a list of items which should be ignored while snapping events for this tool.

isClickAndDrag(self, startViewPoint: QPoint, endViewPoint: QPoint) → bool

Returns true if a mouse press/release operation which started at startViewPoint and ended at endViewPoint should be considered a “click and drag”. If false is returned, the operation should be instead treated as just a click on startViewPoint.

isSignalConnected()
itemFocused

Emitted when an item is “focused” by the tool, i.e. it should become the active item and should have its properties displayed in any designer windows. [signal]

keyPressEvent(self, event: QKeyEvent)

Key press event for overriding. Default implementation does nothing.

keyReleaseEvent(self, event: QKeyEvent)

Key release event for overriding. Default implementation does nothing.

layout(self) → QgsLayout

Returns the layout associated with the tool.

See also

view()

layoutDoubleClickEvent(self, event: QgsLayoutViewMouseEvent)

Mouse double-click event for overriding. Default implementation does nothing.

layoutMoveEvent(self, event: QgsLayoutViewMouseEvent)

Mouse move event for overriding. Default implementation does nothing.

layoutPressEvent(self, event: QgsLayoutViewMouseEvent)

Mouse press event for overriding. Default implementation does nothing. Note that subclasses must ensure that they correctly handle cases when a layoutPressEvent is called without a corresponding layoutReleaseEvent (e.g. due to tool being changed mid way through a press-release operation).

layoutReleaseEvent(self, event: QgsLayoutViewMouseEvent)

Mouse release event for overriding. Default implementation does nothing. Note that subclasses must ensure that they correctly handle cases when a layoutPressEvent is called without a corresponding layoutReleaseEvent (e.g. due to tool being changed mid way through a press-release operation).

receivers()
sender()
senderSignalIndex()
setAction(self, action: QAction)

Associates an action with this tool. When the setLayoutTool method of QgsLayoutView is called the action’s state will be set to on. Usually this will cause a toolbutton to appear pressed in and the previously used toolbutton to pop out.

See also

action()

setCursor(self, cursor: Union[QCursor, Qt.CursorShape])

Sets a user defined cursor for use when the tool is active.

setFlags(self, flags: Union[QgsLayoutViewTool.Flags, QgsLayoutViewTool.Flag])

Sets the combination of flags that will be used for the tool.

See also

flags()

timerEvent()
toolName(self) → str

Returns a user-visible, translated name for the tool.

view(self) → QgsLayoutView

Returns the view associated with the tool.

See also

layout()

wheelEvent(self, event: QWheelEvent)

Mouse wheel event for overriding. Default implementation does nothing.