Class: QgsLayoutItem

Base class for graphical items within a QgsLayout.

Note

This is an abstract class, with methods which must be implemented by a subclass.

The following methods must be implemented: draw()

Class Hierarchy

Inheritance diagram of qgis.core.QgsLayoutItem

Base classes

QgsLayoutObject

A base class for objects which belong to a layout.

QObject

QgsExpressionContextGenerator

Abstract interface for generating an expression context.

QGraphicsRectItem

QAbstractGraphicsShapeItem

QGraphicsItem

QgsLayoutUndoObjectInterface

Interface for layout objects which support undo/redo commands.

Subclasses

QgsLayoutFrame

Base class for frame items, which form a layout multiframe item.

QgsLayoutItemElevationProfile

A layout item subclass for elevation profile plots.

QgsLayoutItemGroup

A container for grouping several QgsLayoutItems.

QgsLayoutItemLabel

A layout item subclass for text labels.

QgsLayoutItemLegend

A layout item subclass for map legends.

QgsLayoutItemMap

Layout graphical items for displaying a map.

QgsLayoutItemMarker

A layout item for showing marker symbols.

QgsLayoutItemPage

Item representing the paper in a layout.

QgsLayoutItemPicture

A layout item subclass that displays SVG files or raster format images (jpg, png, …).

QgsLayoutNodesItem

An abstract layout item that provides generic methods for node based shapes such as polygon or polylines.

QgsLayoutItemScaleBar

A layout item subclass for scale bars.

QgsLayoutItemShape

Layout item for basic filled shapes (e.g. rectangles, ellipses).

QgsLayoutItem3DMap

Implements support of 3D map views in print layouts.

Abstract Methods

draw

Draws the item's contents using the specified item render context.

Methods

adjustPointForReferencePosition

Adjusts the specified point at which a reference position of the item sits and returns the top left corner of the item, if reference point were placed at the specified position.

applyDataDefinedSize

Applies any present data defined size overrides to the specified layout size.

attemptMoveBy

Attempts to shift the item's position by a specified deltaX and deltaY, in layout units.

attemptSetSceneRect

Attempts to update the item's position and size to match the passed rect in layout coordinates.

backgroundColor

Returns the background color for this item.

beginCommand

Starts new undo command for this item.

blendMode

Returns the item's composition blending mode.

cancelCommand

Cancels the current item command and discards it.

drawRefreshingOverlay

Draws a "refreshing" overlay icon on the item.

endCommand

Completes the current item command and push it onto the layout's undo stack.

excludeFromExports

Returns whether the item should be excluded from layout exports and prints.

frameEnabled

Returns True if the item includes a frame.

frameJoinStyle

Returns the join style used for drawing the item's frame.

frameStrokeColor

Returns the frame's stroke color.

frameStrokeWidth

Returns the frame's stroke width.

hasBackground

Returns True if the item has a background.

id

Returns the item's ID name.

isGroupMember

Returns True if the item is part of a QgsLayoutItemGroup group.

isLocked

Returns True if the item is locked, and cannot be interacted with using the mouse.

itemOpacity

Returns the item's opacity.

itemRotation

Returns the current rotation for the item, in degrees clockwise.

page

Returns the page the item is currently on, with the first page returning 0.

pagePos

Returns the item's position (in layout units) relative to the top left corner of its current page.

pagePositionWithUnits

Returns the item's position (in item units) relative to the top left corner of its current page.

parentGroup

Returns the item's parent group, if the item is part of a QgsLayoutItemGroup group.

positionAtReferencePoint

Returns the current position (in layout units) of a reference point for the item.

positionWithUnits

Returns the item's current position, including units.

readXml

Sets the item state from a DOM element.

referencePoint

Returns the reference point for positioning of the layout item.

refreshBackgroundColor

Refresh item's background color, considering data defined colors.

refreshBlendMode

Refresh item's blend mode, considering data defined blend mode.

refreshFrame

Refresh item's frame, considering data defined colors and frame size.

refreshItemPosition

Refreshes an item's position by rechecking it against any possible overrides such as data defined positioning.

refreshItemRotation

Refreshes an item's rotation by rechecking it against any possible overrides such as data defined rotation.

refreshItemSize

Refreshes an item's size by rechecking it against any possible item fixed or minimum sizes.

refreshOpacity

Refresh item's opacity, considering data defined opacity.

setBackgroundColor

Sets the background color for this item.

setBackgroundEnabled

Sets whether this item has a background drawn under it or not.

setBlendMode

Sets the item's composition blending mode.

setExcludeFromExports

Sets whether the item should be excluded from layout exports and prints.

setFrameJoinStyle

Sets the join style used when drawing the item's frame.

setFrameStrokeColor

Sets the frame stroke color.

setItemOpacity

Sets the item's opacity.

setLocked

Sets whether the item is locked, preventing mouse interactions with the item.

setParentGroup

Sets the item's parent group.

setReferencePoint

Sets the reference point for positioning of the layout item.

shouldDrawItem

Returns whether the item should be drawn in the current context.

sizeWithUnits

Returns the item's current size, including units.

topLeftToReferencePoint

Returns the position for the reference point of the item, if the top-left of the item was placed at the specified point.

writeXml

Stores the item state in a DOM element.

Virtual Methods

In PyQGIS, only methods marked as virtual can be safely overridden in a Python subclass of QgsLayoutItem. See the FAQ for more details.

accept

Accepts the specified style entity visitor, causing it to visit all style entities associated with the layout item.

applyItemSizeConstraint

Applies any item-specific size constraint handling to a given targetSize in layout units.

attemptMove

Attempts to move the item to a specified point.

attemptResize

Attempts to resize the item to a specified target size.

cleanup

Called just before a batch of items are deleted, allowing them to run cleanup tasks.

clipPath

Returns the clipping path generated by this item, in layout coordinates.

containsAdvancedEffects

Returns True if the item contains contents with blend modes or transparency effects which can only be reproduced by rastering the item.

displayName

Gets item display name.

drawBackground

Draws the background for the item.

drawDebugRect

Draws a debugging rectangle of the item's current bounds within the specified painter.

drawFrame

Draws the frame around the item.

estimatedFrameBleed

Returns the estimated amount the item's frame bleeds outside the item's actual rectangle.

exportLayerBehavior

Returns the behavior of this item during exporting to layered exports (e.g. SVG or geospatial PDF).

exportLayerDetails

Returns the details for the specified current export layer.

finalizeRestoreFromXml

Called after all pending items have been restored from XML.

fixedSize

Returns the fixed size of the item, if applicable, or an empty size if item can be freely resized.

framePath

Returns the path to use when drawing the item's frame or background.

icon

Returns the item's icon.

invalidateCache

Forces a deferred update of any cached image the item uses.

isRefreshing

Returns True if the item is currently refreshing content in the background.

itemFlags

Returns the item's flags, which indicate how the item behaves.

minimumSize

Returns the minimum allowed size of the item, if applicable, or an empty size if item can be freely resized.

moveContent

Moves the content of the item, by a specified dx and dy in layout units.

nextExportPart

Moves to the next export part for a multi-layered export item, during a multi-layered export.

numberExportLayers

Returns the number of layers that this item requires for exporting during layered exports (e.g. SVG).

paint

Handles preparing a paint surface for the layout item and painting the item's content.

readPropertiesFromElement

Sets item state from a DOM element.

rectWithFrame

Returns the item's rectangular bounds, including any bleed caused by the item's frame.

redraw

Triggers a redraw (update) of the item.

refresh

Refreshes the item, causing a recalculation of any property overrides and recalculation of its position and size.

refreshDataDefinedProperty

Refreshes a data defined property for the item by reevaluating the property's value and redrawing the item with this new value.

requiresRasterization

Returns True if the item is drawn in such a way that forces the whole layout to be rasterized when exporting to vector formats.

rotateItem

Rotates the item by a specified angle in degrees clockwise around a specified reference point.

setFixedSize

Sets a fixed size for the layout item, which prevents it from being freely resized.

setFrameEnabled

Sets whether this item has a frame drawn around it or not.

setFrameStrokeWidth

Sets the frame stroke width.

setId

Set the item's id name.

setItemRotation

Sets the layout item's rotation, in degrees clockwise.

setMinimumSize

Sets the minimum allowed size for the layout item.

setMoveContentPreviewOffset

Sets temporary offset for the item, by a specified dx and dy in layout units.

setSelected

Sets whether the item should be selected.

setVisibility

Sets whether the item is visible.

startLayeredExport

Starts a multi-layer export operation.

stopLayeredExport

Stops a multi-layer export operation.

type

Returns a unique graphics item type identifier.

uuid

Returns the item identification string.

writePropertiesToElement

Stores item state within an XML DOM element.

zoomContent

Zooms content of item.

Signals

backgroundTaskCountChanged

Emitted whenever the number of background tasks an item is executing changes.

clipPathChanged

Emitted when the item's clipping path has changed.

frameChanged

Emitted if the item's frame style changes.

lockChanged

Emitted if the item's lock status changes.

rotationChanged

Emitted on item rotation change.

sizePositionChanged

Emitted when the item's size or position changes.

Attributes

CanGroupWithAnyOtherItem

CanGroupWithItemsOfSameType

FlagDisableSceneCaching

FlagOverridesPaint

FlagProvidesClipPath

ItemContainsSubLayers

LowerLeft

LowerMiddle

LowerRight

Middle

MiddleLeft

MiddleRight

MustPlaceInOwnLayer

UndoArrowHeadFillColor

UndoArrowHeadStrokeColor

UndoArrowHeadWidth

UndoArrowStrokeWidth

UndoAtlasMargin

UndoBackgroundColor

UndoCustomCommand

UndoElevationProfileChartBackground

UndoElevationProfileChartBorder

UndoElevationProfileDistanceFont

UndoElevationProfileDistanceFormat

UndoElevationProfileDistanceLabels

UndoElevationProfileDistanceMajorGridlines

UndoElevationProfileDistanceMinorGridlines

UndoElevationProfileElevationFont

UndoElevationProfileElevationFormat

UndoElevationProfileElevationLabels

UndoElevationProfileElevationMajorGridlines

UndoElevationProfileElevationMinorGridlines

UndoElevationProfileMaximumDistance

UndoElevationProfileMaximumElevation

UndoElevationProfileMinimumDistance

UndoElevationProfileMinimumElevation

UndoElevationProfileSubsectionLines

UndoElevationProfileTolerance

UndoExportLayerName

UndoGridFramePenColor

UndoIncrementalMove

UndoIncrementalResize

UndoLabelFont

UndoLabelFontColor

UndoLabelMargin

UndoLabelText

UndoLegendAutoWrapAfter

UndoLegendBoxSpace

UndoLegendColumnCount

UndoLegendColumnSpace

UndoLegendFontColor

UndoLegendGroupFont

UndoLegendGroupIndent

UndoLegendGroupSpace

UndoLegendIconSymbolSpace

UndoLegendItemFont

UndoLegendLayerFont

UndoLegendLayerSpace

UndoLegendLineSpacing

UndoLegendMaxSymbolSize

UndoLegendMinSymbolSize

UndoLegendRasterStrokeColor

UndoLegendRasterStrokeWidth

UndoLegendSubgroupIndent

UndoLegendSymbolHeight

UndoLegendSymbolSpace

UndoLegendSymbolWidth

UndoLegendText

UndoLegendTitleFont

UndoLegendTitleSpaceBottom

UndoLegendWmsLegendHeight

UndoLegendWmsLegendWidth

UndoMapAnnotationDistance

UndoMapGridAnnotationFontColor

UndoMapGridFrameFill1Color

UndoMapGridFrameFill2Color

UndoMapGridIntervalRange

UndoMapGridLineSymbol

UndoMapGridMarkerSymbol

UndoMapLabelMargin

UndoMapRotation

UndoMarginBottom

UndoMarginLeft

UndoMarginRight

UndoMarginTop

UndoNodeMove

UndoNone

UndoOpacity

UndoOverviewStyle

UndoPictureFillColor

UndoPictureNorthOffset

UndoPictureRotation

UndoPictureStrokeColor

UndoPictureStrokeWidth

UndoRotation

UndoScaleBarBoxContentSpace

UndoScaleBarFillColor

UndoScaleBarFillColor2

UndoScaleBarFontColor

UndoScaleBarHeight

UndoScaleBarLabelBarSize

UndoScaleBarLineWidth

UndoScaleBarMapUnitsSegment

UndoScaleBarSegmentSize

UndoScaleBarSegments

UndoScaleBarSegmentsLeft

UndoScaleBarStrokeColor

UndoScaleBarSubdivisions

UndoScaleBarSubdivisionsHeight

UndoScaleBarUnitText

UndoSetId

UndoShapeCornerRadius

UndoShapeStyle

UndoStrokeColor

UndoStrokeWidth

UndoZoomContent

UpperLeft

UpperMiddle

UpperRight

class qgis.core.QgsLayoutItem[source]

Bases: QgsLayoutObject, QGraphicsRectItem, QgsLayoutUndoObjectInterface

__init__(layout: QgsLayout | None, manageZValue: bool = True)

Constructor for QgsLayoutItem, with the specified parent layout.

If manageZValue is True, the z-Value of this item will be managed by the layout. Generally this is the desired behavior.

Parameters:
  • layout (Optional[QgsLayout])

  • manageZValue (bool = True)

CanGroupWithAnyOtherItem = 0
CanGroupWithItemsOfSameType = 1
class ExportLayerBehavior

Bases: int

class ExportLayerDetail

Bases: object

Contains details of a particular export layer relating to a layout item.

Added in version 3.10.

compositionMode: QPainter.CompositionMode

Associated composition mode if this layer is associated with a map layer

Added in version 3.14.

groupName: str

Associated group name, if this layer is associated with an export group.

Added in version 3.40.

mapLayerId: str

Associated map layer ID, or an empty string if this export layer is not associated with a map layer

mapTheme: str

Associated map theme, or an empty string if this export layer does not need to be associated with a map theme

name: str

User-friendly name for the export layer

class Flag

Bases: int

FlagDisableSceneCaching = 8
FlagOverridesPaint = 2
FlagProvidesClipPath = 4
class Flags
class Flags(f: QgsLayoutItem.Flags | QgsLayoutItem.Flag)
class Flags(a0: QgsLayoutItem.Flags)

Bases: object

ItemContainsSubLayers = 3
LowerLeft = 6
LowerMiddle = 7
LowerRight = 8
Middle = 4
MiddleLeft = 3
MiddleRight = 5
MustPlaceInOwnLayer = 2
class ReferencePoint

Bases: int

UndoArrowHeadFillColor = 82
UndoArrowHeadStrokeColor = 83
UndoArrowHeadWidth = 81
UndoArrowStrokeWidth = 80
UndoAtlasMargin = 17
UndoBackgroundColor = 5
class UndoCommand

Bases: int

UndoCustomCommand = 102
UndoElevationProfileChartBackground = 85
UndoElevationProfileChartBorder = 86
UndoElevationProfileDistanceFont = 90
UndoElevationProfileDistanceFormat = 89
UndoElevationProfileDistanceLabels = 91
UndoElevationProfileDistanceMajorGridlines = 87
UndoElevationProfileDistanceMinorGridlines = 88
UndoElevationProfileElevationFont = 95
UndoElevationProfileElevationFormat = 94
UndoElevationProfileElevationLabels = 96
UndoElevationProfileElevationMajorGridlines = 92
UndoElevationProfileElevationMinorGridlines = 93
UndoElevationProfileMaximumDistance = 98
UndoElevationProfileMaximumElevation = 100
UndoElevationProfileMinimumDistance = 97
UndoElevationProfileMinimumElevation = 99
UndoElevationProfileSubsectionLines = 101
UndoElevationProfileTolerance = 84
UndoExportLayerName = 13
UndoGridFramePenColor = 21
UndoIncrementalMove = 1
UndoIncrementalResize = 2
UndoLabelFont = 36
UndoLabelFontColor = 38
UndoLabelMargin = 37
UndoLabelText = 35
UndoLegendAutoWrapAfter = 64
UndoLegendBoxSpace = 55
UndoLegendColumnCount = 40
UndoLegendColumnSpace = 56
UndoLegendFontColor = 54
UndoLegendGroupFont = 61
UndoLegendGroupIndent = 49
UndoLegendGroupSpace = 48
UndoLegendIconSymbolSpace = 53
UndoLegendItemFont = 63
UndoLegendLayerFont = 62
UndoLegendLayerSpace = 51
UndoLegendLineSpacing = 57
UndoLegendMaxSymbolSize = 43
UndoLegendMinSymbolSize = 44
UndoLegendRasterStrokeColor = 59
UndoLegendRasterStrokeWidth = 58
UndoLegendSubgroupIndent = 50
UndoLegendSymbolHeight = 42
UndoLegendSymbolSpace = 52
UndoLegendSymbolWidth = 41
UndoLegendText = 39
UndoLegendTitleFont = 60
UndoLegendTitleSpaceBottom = 47
UndoLegendWmsLegendHeight = 46
UndoLegendWmsLegendWidth = 45
UndoMapAnnotationDistance = 24
UndoMapGridAnnotationFontColor = 25
UndoMapGridFrameFill1Color = 22
UndoMapGridFrameFill2Color = 23
UndoMapGridIntervalRange = 28
UndoMapGridLineSymbol = 26
UndoMapGridMarkerSymbol = 27
UndoMapLabelMargin = 29
UndoMapRotation = 18
UndoMarginBottom = 9
UndoMarginLeft = 7
UndoMarginRight = 10
UndoMarginTop = 8
UndoNodeMove = 16
UndoNone = -1
UndoOpacity = 6
UndoOverviewStyle = 20
UndoPictureFillColor = 31
UndoPictureNorthOffset = 34
UndoPictureRotation = 30
UndoPictureStrokeColor = 32
UndoPictureStrokeWidth = 33
UndoRotation = 12
UndoScaleBarBoxContentSpace = 79
UndoScaleBarFillColor = 73
UndoScaleBarFillColor2 = 74
UndoScaleBarFontColor = 72
UndoScaleBarHeight = 69
UndoScaleBarLabelBarSize = 78
UndoScaleBarLineWidth = 65
UndoScaleBarMapUnitsSegment = 77
UndoScaleBarSegmentSize = 66
UndoScaleBarSegments = 68
UndoScaleBarSegmentsLeft = 67
UndoScaleBarStrokeColor = 75
UndoScaleBarSubdivisions = 70
UndoScaleBarSubdivisionsHeight = 71
UndoScaleBarUnitText = 76
UndoSetId = 11
UndoShapeCornerRadius = 15
UndoShapeStyle = 14
UndoStrokeColor = 3
UndoStrokeWidth = 4
UndoZoomContent = 19
UpperLeft = 0
UpperMiddle = 1
UpperRight = 2
virtual accept(self, visitor: QgsStyleEntityVisitorInterface | None) bool[source]

Accepts the specified style entity visitor, causing it to visit all style entities associated with the layout item.

Returns True if the visitor should continue visiting other objects, or False if visiting should be canceled.

Added in version 3.10.

Parameters:

visitor (Optional[QgsStyleEntityVisitorInterface])

Return type:

bool

adjustPointForReferencePosition(self, point: QPointF | QPoint, size: QSizeF, reference: QgsLayoutItem.ReferencePoint) QPointF[source]

Adjusts the specified point at which a reference position of the item sits and returns the top left corner of the item, if reference point were placed at the specified position.

Parameters:
Return type:

QPointF

applyDataDefinedSize(self, size: QgsLayoutSize) QgsLayoutSize[source]

Applies any present data defined size overrides to the specified layout size.

Parameters:

size (QgsLayoutSize)

Return type:

QgsLayoutSize

virtual applyItemSizeConstraint(self, targetSize: QSizeF) QSizeF[source]

Applies any item-specific size constraint handling to a given targetSize in layout units. Subclasses can override this method if they need to apply advanced logic regarding item sizes, which cannot be covered by setFixedSize() or setMinimumSize(). Item size constraints are applied after fixed, minimum and data defined size constraints.

See also

setFixedSize()

See also

setMinimumSize()

Parameters:

targetSize (QSizeF)

Return type:

QSizeF

virtual attemptMove(self, point: QgsLayoutPoint, useReferencePoint: bool = True, includesFrame: bool = False, page: int = -1)[source]

Attempts to move the item to a specified point.

If useReferencePoint is True, this method will respect the item’s reference point, in that the item will be moved so that its current reference point is placed at the specified target point.

If useReferencePoint is False, the item will be moved so that point falls at the top-left corner of the item.

If includesFrame is True, then the position specified by point represents the point at which to place the outside of the item’s frame.

If page is not left at the default -1 value, then the position specified by point refers to the relative position on the corresponding layout page (where a page of 0 represents the first page).

Note that the final position of the item may not match the specified target position, as data defined item position may override the specified value.

See also

attemptMoveBy()

See also

attemptResize()

See also

referencePoint()

Parameters:
  • point (QgsLayoutPoint)

  • useReferencePoint (bool = True)

  • includesFrame (bool = False)

  • page (int = -1)

attemptMoveBy(self, deltaX: float, deltaY: float)[source]

Attempts to shift the item’s position by a specified deltaX and deltaY, in layout units.

Note that the final position of the item may not match the specified offsets, as data defined item position and size may override the specified value.

See also

attemptResize()

See also

attemptMove()

See also

referencePoint()

Parameters:
  • deltaX (float)

  • deltaY (float)

virtual attemptResize(self, size: QgsLayoutSize, includesFrame: bool = False)[source]

Attempts to resize the item to a specified target size. Note that the final size of the item may not match the specified target size, as items with a fixed or minimum size will place restrictions on the allowed item size. Data defined item size overrides will also override the specified target size.

If includesFrame is True, then the size specified by size includes the item’s frame.

See also

minimumSize()

See also

fixedSize()

See also

attemptMove()

See also

sizeWithUnits()

Parameters:
attemptSetSceneRect(self, rect: QRectF, includesFrame: bool = False)[source]

Attempts to update the item’s position and size to match the passed rect in layout coordinates.

If includesFrame is True, then the position and size specified by rect represents the position and size at for the outside of the item’s frame.

Note that the final position and size of the item may not match the specified target rect, as data defined item position and size may override the specified value.

See also

attemptResize()

See also

attemptMove()

See also

referencePoint()

Parameters:
  • rect (QRectF)

  • includesFrame (bool = False)

backgroundColor(self, useDataDefined: bool = True) QColor[source]

Returns the background color for this item. This is only used if hasBackground() returns True.

Parameters:

useDataDefined (bool = True) – If true, then returns the data defined override for the background color

See also

hasBackground()

Return type:

QColor

signal backgroundTaskCountChanged(count: int)[source]

Emitted whenever the number of background tasks an item is executing changes.

Added in version 3.10.

Parameters:

count (int)

beginCommand(self, commandText: str | None, command: QgsLayoutItem.UndoCommand = QgsLayoutItem.UndoNone)[source]

Starts new undo command for this item. The commandText should be a capitalized, imperative tense description (e.g. “Add Map Item”). If specified, multiple consecutive commands for this item with the same command will be collapsed into a single undo command in the layout history.

See also

endCommand()

See also

cancelCommand()

Parameters:
  • commandText (Optional[str])

  • command (QgsLayoutItem.UndoCommand = QgsLayoutItem.UndoNone)

blendMode(self) QPainter.CompositionMode[source]

Returns the item’s composition blending mode.

See also

setBlendMode()

Return type:

QPainter.CompositionMode

cancelCommand(self)[source]

Cancels the current item command and discards it.

See also

beginCommand()

See also

endCommand()

virtual cleanup(self)[source]

Called just before a batch of items are deleted, allowing them to run cleanup tasks.

virtual clipPath(self) QgsGeometry[source]

Returns the clipping path generated by this item, in layout coordinates.

Note

Not all items can function as clipping paths. The FlagProvidesClipPath flag indicates if a particular item can function as a clipping path provider.

Added in version 3.16.

Return type:

QgsGeometry

signal clipPathChanged[source]

Emitted when the item’s clipping path has changed.

See also

clipPath()

Added in version 3.16.

virtual containsAdvancedEffects(self) bool[source]

Returns True if the item contains contents with blend modes or transparency effects which can only be reproduced by rastering the item.

Subclasses should ensure that implemented overrides of this method also check the base class result.

Return type:

bool

virtual displayName(self) str[source]

Gets item display name. This is the item’s id if set, and if not, a user-friendly string identifying item type.

See also

id()

See also

setId()

Return type:

str

abstract draw(self, context: QgsLayoutItemRenderContext)[source]

Draws the item’s contents using the specified item render context.

Note that the context’s painter has been scaled so that painter units are pixels. Use the QgsRenderContext methods to convert from millimeters or other units to the painter’s units.

Parameters:

context (QgsLayoutItemRenderContext)

virtual drawBackground(self, context: QgsRenderContext)[source]

Draws the background for the item.

See also

framePath()

Parameters:

context (QgsRenderContext)

virtual drawDebugRect(self, painter: QPainter | None)[source]

Draws a debugging rectangle of the item’s current bounds within the specified painter.

Parameters:

painter (Optional[QPainter]) – destination QPainter

virtual drawFrame(self, context: QgsRenderContext)[source]

Draws the frame around the item.

See also

framePath()

Parameters:

context (QgsRenderContext)

drawRefreshingOverlay(self, painter: QPainter | None, itemStyle: QStyleOptionGraphicsItem | None)[source]

Draws a “refreshing” overlay icon on the item.

Added in version 3.32.

Parameters:
  • painter (Optional[QPainter])

  • itemStyle (Optional[QStyleOptionGraphicsItem])

endCommand(self)[source]

Completes the current item command and push it onto the layout’s undo stack.

See also

beginCommand()

See also

cancelCommand()

virtual estimatedFrameBleed(self) float[source]

Returns the estimated amount the item’s frame bleeds outside the item’s actual rectangle. For instance, if the item has a 2mm frame stroke, then 1mm of this frame is drawn outside the item’s rect. In this case the return value will be 1.0.

Returned values are in layout units.

See also

rectWithFrame()

Return type:

float

excludeFromExports(self) bool[source]

Returns whether the item should be excluded from layout exports and prints.

Return type:

bool

virtual exportLayerBehavior(self) QgsLayoutItem.ExportLayerBehavior[source]

Returns the behavior of this item during exporting to layered exports (e.g. SVG or geospatial PDF).

Added in version 3.10.

Return type:

QgsLayoutItem.ExportLayerBehavior

virtual exportLayerDetails(self) QgsLayoutItem.ExportLayerDetail[source]

Returns the details for the specified current export layer.

Only valid between calls to startLayeredExport() and stopLayeredExport()

Added in version 3.10.

Return type:

QgsLayoutItem.ExportLayerDetail

virtual finalizeRestoreFromXml(self)[source]

Called after all pending items have been restored from XML. Items can use this method to run steps which must take place after all items have been restored to the layout, such as connecting to signals emitted by other items, which may not have existed in the layout at the time readXml() was called. E.g. a scalebar can use this to connect to its linked map item after restoration from XML.

See also

readXml()

virtual fixedSize(self) QgsLayoutSize[source]

Returns the fixed size of the item, if applicable, or an empty size if item can be freely resized.

See also

setFixedSize()

See also

minimumSize()

Return type:

QgsLayoutSize

signal frameChanged[source]

Emitted if the item’s frame style changes.

frameEnabled(self) bool[source]

Returns True if the item includes a frame.

See also

frameJoinStyle()

Return type:

bool

frameJoinStyle(self) Qt.PenJoinStyle[source]

Returns the join style used for drawing the item’s frame.

See also

frameEnabled()

Return type:

Qt.PenJoinStyle

virtual framePath(self) QPainterPath[source]

Returns the path to use when drawing the item’s frame or background.

See also

drawFrame()

See also

drawBackground()

Added in version 3.16.

Return type:

QPainterPath

frameStrokeColor(self) QColor[source]

Returns the frame’s stroke color. This is only used if frameEnabled() returns True.

See also

frameEnabled()

See also

frameJoinStyle()

Return type:

QColor

frameStrokeWidth(self) QgsLayoutMeasurement[source]

Returns the frame’s stroke width. This is only used if frameEnabled() returns True.

See also

frameEnabled()

See also

frameJoinStyle()

Return type:

QgsLayoutMeasurement

hasBackground(self) bool[source]

Returns True if the item has a background.

Return type:

bool

virtual icon(self) QIcon[source]

Returns the item’s icon.

Return type:

QIcon

id(self) str[source]

Returns the item’s ID name. This is not necessarily unique, and duplicate ID names may exist for a layout.

See also

setId()

See also

uuid()

Return type:

str

virtual invalidateCache(self)[source]

Forces a deferred update of any cached image the item uses.

isGroupMember(self) bool[source]

Returns True if the item is part of a QgsLayoutItemGroup group.

See also

parentGroup()

See also

setParentGroup()

Return type:

bool

isLocked(self) bool[source]

Returns True if the item is locked, and cannot be interacted with using the mouse.

See also

setLocked()

See also

lockChanged()

Return type:

bool

virtual isRefreshing(self) bool[source]

Returns True if the item is currently refreshing content in the background.

Added in version 3.32.

Return type:

bool

virtual itemFlags(self) QgsLayoutItem.Flags[source]

Returns the item’s flags, which indicate how the item behaves.

Added in version 3.4.3.

Return type:

QgsLayoutItem.Flags

itemOpacity(self) float[source]

Returns the item’s opacity. This method should be used instead of QGraphicsItem.opacity() as any data defined overrides will be respected.

Return type:

float

Returns:

opacity as double between 1.0 (opaque) and 0 (transparent).

See also

setItemOpacity()

itemRotation(self) float[source]

Returns the current rotation for the item, in degrees clockwise.

Note that this method will always return the user-set rotation for the item, which may differ from the current item rotation (if data defined rotation settings are present). Use QGraphicsItem.rotation() to obtain the current item rotation.

Return type:

float

signal lockChanged[source]

Emitted if the item’s lock status changes.

See also

isLocked()

See also

setLocked()

virtual minimumSize(self) QgsLayoutSize[source]

Returns the minimum allowed size of the item, if applicable, or an empty size if item can be freely resized.

See also

setMinimumSize()

See also

fixedSize()

Return type:

QgsLayoutSize

virtual moveContent(self, dx: float, dy: float)[source]

Moves the content of the item, by a specified dx and dy in layout units. The default implementation has no effect.

See also

zoomContent()

Parameters:
  • dx (float)

  • dy (float)

virtual nextExportPart(self) bool[source]

Moves to the next export part for a multi-layered export item, during a multi-layered export.

Added in version 3.10.

Return type:

bool

virtual numberExportLayers(self) int[source]

Returns the number of layers that this item requires for exporting during layered exports (e.g. SVG). Returns 0 if this item is to be placed on the same layer as the previous item, 1 if it should be placed on its own layer, and >1 if it requires multiple export layers.

Items which require multiply layers should check QgsLayoutContext.currentExportLayer() during their rendering to determine which layer should be drawn.

Deprecated since version 3.40: Use nextExportPart() and exportLayerBehavior() instead.

Return type:

int

page(self) int[source]

Returns the page the item is currently on, with the first page returning 0.

See also

pagePos()

Return type:

int

pagePos(self) QPointF[source]

Returns the item’s position (in layout units) relative to the top left corner of its current page.

See also

page()

Return type:

QPointF

pagePositionWithUnits(self) QgsLayoutPoint[source]

Returns the item’s position (in item units) relative to the top left corner of its current page.

See also

page()

See also

pagePos()

Return type:

QgsLayoutPoint

virtual paint(self, painter: QPainter | None, itemStyle: QStyleOptionGraphicsItem | None, pWidget: QWidget | None)[source]

Handles preparing a paint surface for the layout item and painting the item’s content. Derived classes must not override this method, but instead implement the pure virtual method QgsLayoutItem.draw.

Parameters:
  • painter (Optional[QPainter])

  • itemStyle (Optional[QStyleOptionGraphicsItem])

  • pWidget (Optional[QWidget])

parentGroup(self) QgsLayoutItemGroup | None[source]

Returns the item’s parent group, if the item is part of a QgsLayoutItemGroup group.

See also

isGroupMember()

See also

setParentGroup()

Return type:

Optional[QgsLayoutItemGroup]

positionAtReferencePoint(self, reference: QgsLayoutItem.ReferencePoint) QPointF[source]

Returns the current position (in layout units) of a reference point for the item.

Parameters:

reference (QgsLayoutItem.ReferencePoint)

Return type:

QPointF

positionWithUnits(self) QgsLayoutPoint[source]

Returns the item’s current position, including units. The position returned is the position of the item’s reference point, which may not necessarily be the top left corner of the item.

See also

attemptMove()

See also

referencePoint()

See also

sizeWithUnits()

Return type:

QgsLayoutPoint

virtual readPropertiesFromElement(self, element: QDomElement, document: QDomDocument, context: QgsReadWriteContext) bool[source]

Sets item state from a DOM element.

Parameters:
  • element (QDomElement) – is the DOM element for the item

  • document (QDomDocument) – DOM document

  • context (QgsReadWriteContext) – read write context

Note that item subclasses should not rely on all other items being present in the layout at the time this method is called. Instead, any connections and links to other items must be made in the finalizeRestoreFromXml() method. E.g. when restoring a scalebar, the connection to the linked map’s signals should be implemented in finalizeRestoreFromXml(), not readPropertiesFromElement().

See also

readXml()

Return type:

bool

readXml(self, itemElement: QDomElement, document: QDomDocument, context: QgsReadWriteContext) bool[source]

Sets the item state from a DOM element.

Parameters:
  • itemElement (QDomElement) – is the DOM node corresponding to item (e.g. ‘LayoutItem’ element)

  • document (QDomDocument) – DOM document

  • context (QgsReadWriteContext) – read write context

Note that item subclasses should not rely on all other items being present in the layout at the time this method is called. Instead, any connections and links to other items must be made in the finalizeRestoreFromXml() method. E.g. when restoring a scalebar, the connection to the linked map’s signals should be implemented in finalizeRestoreFromXml(), not readXml().

See also

writeXml()

Return type:

bool

virtual rectWithFrame(self) QRectF[source]

Returns the item’s rectangular bounds, including any bleed caused by the item’s frame. The bounds are returned in the item’s coordinate system (see Qt’s QGraphicsItem docs for more details about QGraphicsItem coordinate systems). The results differ from Qt’s rect() function, as rect() makes no allowances for the portion of outlines which are drawn outside of the item.

Return type:

QRectF

virtual redraw(self)[source]

Triggers a redraw (update) of the item.

referencePoint(self) QgsLayoutItem.ReferencePoint[source]

Returns the reference point for positioning of the layout item. This point is also fixed during resizing of the item, and any size changes will be performed so that the position of the reference point within the layout remains unchanged.

Return type:

QgsLayoutItem.ReferencePoint

virtual refresh(self)[source]

Refreshes the item, causing a recalculation of any property overrides and recalculation of its position and size.

refreshBackgroundColor(self, updateItem: bool = True)[source]

Refresh item’s background color, considering data defined colors. If updateItem is set to False, the item will not be automatically updated after the frame color is set and a later call to update() must be made.

Parameters:

updateItem (bool = True)

refreshBlendMode(self)[source]

Refresh item’s blend mode, considering data defined blend mode.

virtual refreshDataDefinedProperty(self, property: QgsLayoutObject.DataDefinedProperty = QgsLayoutObject.DataDefinedProperty.AllProperties)[source]

Refreshes a data defined property for the item by reevaluating the property’s value and redrawing the item with this new value. If property is set to QgsLayoutObject.AllProperties then all data defined properties for the item will be refreshed.

Parameters:

property (QgsLayoutObject.DataDefinedProperty = QgsLayoutObject.DataDefinedProperty.AllProperties)

refreshFrame(self, updateItem: bool = True)[source]

Refresh item’s frame, considering data defined colors and frame size. If updateItem is set to False, the item will not be automatically updated after the frame is set and a later call to update() must be made.

Parameters:

updateItem (bool = True)

refreshItemPosition(self)[source]

Refreshes an item’s position by rechecking it against any possible overrides such as data defined positioning.

refreshItemRotation(self, origin: QPointF | QPoint | None = None)[source]

Refreshes an item’s rotation by rechecking it against any possible overrides such as data defined rotation.

The optional origin point specifies the origin (in item coordinates) around which the rotation should be applied.

Parameters:

origin (Optional[Union[QPointF, QPoint]] = None)

refreshItemSize(self)[source]

Refreshes an item’s size by rechecking it against any possible item fixed or minimum sizes.

See also

setFixedSize()

See also

setMinimumSize()

refreshOpacity(self, updateItem: bool = True)[source]

Refresh item’s opacity, considering data defined opacity. If updateItem is set to False the item will not be automatically updated after the opacity is set and a later call to update() must be made.

Parameters:

updateItem (bool = True)

virtual requiresRasterization(self) bool[source]

Returns True if the item is drawn in such a way that forces the whole layout to be rasterized when exporting to vector formats.

Return type:

bool

virtual rotateItem(self, angle: float, transformOrigin: QPointF | QPoint)[source]

Rotates the item by a specified angle in degrees clockwise around a specified reference point.

See also

itemRotation()

Parameters:
  • angle (float)

  • transformOrigin (Union[QPointF, QPoint])

signal rotationChanged(newRotation: float)[source]

Emitted on item rotation change.

Parameters:

newRotation (float)

setBackgroundColor(self, color: QColor | Qt.GlobalColor)[source]

Sets the background color for this item.

Parameters:

color (Union[QColor, Qt.GlobalColor])

setBackgroundEnabled(self, drawBackground: bool)[source]

Sets whether this item has a background drawn under it or not.

See also

hasBackground()

Parameters:

drawBackground (bool)

setBlendMode(self, mode: QPainter.CompositionMode)[source]

Sets the item’s composition blending mode.

See also

blendMode()

Parameters:

mode (QPainter.CompositionMode)

setExcludeFromExports(self, exclude: bool)[source]

Sets whether the item should be excluded from layout exports and prints.

Parameters:

exclude (bool)

virtual setFixedSize(self, size: QgsLayoutSize)[source]

Sets a fixed size for the layout item, which prevents it from being freely resized. Set an empty size if item can be freely resized.

See also

fixedSize()

See also

setMinimumSize()

Parameters:

size (QgsLayoutSize)

virtual setFrameEnabled(self, drawFrame: bool)[source]

Sets whether this item has a frame drawn around it or not.

See also

frameEnabled()

Parameters:

drawFrame (bool)

setFrameJoinStyle(self, style: Qt.PenJoinStyle)[source]

Sets the join style used when drawing the item’s frame.

See also

frameJoinStyle()

Parameters:

style (Qt.PenJoinStyle)

setFrameStrokeColor(self, color: QColor | Qt.GlobalColor)[source]

Sets the frame stroke color.

Parameters:

color (Union[QColor, Qt.GlobalColor])

virtual setFrameStrokeWidth(self, width: QgsLayoutMeasurement)[source]

Sets the frame stroke width.

Parameters:

width (QgsLayoutMeasurement)

virtual setId(self, id: str | None)[source]

Set the item’s id name. This is not necessarily unique, and duplicate ID names may exist for a layout.

See also

id()

See also

uuid()

Parameters:

id (Optional[str])

setItemOpacity(self, opacity: float)[source]

Sets the item’s opacity. This method should be used instead of QGraphicsItem.setOpacity() as any data defined overrides will be respected.

Parameters:

opacity (float) – double between 1.0 (opaque) and 0 (transparent).

See also

itemOpacity()

virtual setItemRotation(self, rotation: float, adjustPosition: bool = True)[source]

Sets the layout item’s rotation, in degrees clockwise.

If adjustPosition is True, then this rotation occurs around the center of the item. If adjustPosition is False, rotation occurs around the item origin.

See also

itemRotation()

See also

rotateItem()

Parameters:
  • rotation (float)

  • adjustPosition (bool = True)

setLocked(self, locked: bool)[source]

Sets whether the item is locked, preventing mouse interactions with the item.

See also

isLocked()

See also

lockChanged()

Parameters:

locked (bool)

virtual setMinimumSize(self, size: QgsLayoutSize)[source]

Sets the minimum allowed size for the layout item. Set an empty size if item can be freely resized.

See also

minimumSize()

See also

setFixedSize()

Parameters:

size (QgsLayoutSize)

virtual setMoveContentPreviewOffset(self, dx: float, dy: float)[source]

Sets temporary offset for the item, by a specified dx and dy in layout units. This is useful for live updates when moving item content in a QgsLayoutView. The default implementation has no effect.

See also

moveContent()

Parameters:
  • dx (float)

  • dy (float)

setParentGroup(self, group: QgsLayoutItemGroup | None)[source]

Sets the item’s parent group.

See also

isGroupMember()

See also

parentGroup()

Parameters:

group (Optional[QgsLayoutItemGroup])

setReferencePoint(self, point: QgsLayoutItem.ReferencePoint)[source]

Sets the reference point for positioning of the layout item. This point is also fixed during resizing of the item, and any size changes will be performed so that the position of the reference point within the layout remains unchanged.

See also

referencePoint()

Parameters:

point (QgsLayoutItem.ReferencePoint)

virtual setSelected(self, selected: bool)[source]

Sets whether the item should be selected.

Parameters:

selected (bool)

virtual setVisibility(self, visible: bool)[source]

Sets whether the item is visible.

Note

QGraphicsItem.setVisible should not be called directly on a QgsLayoutItem, as some item types (e.g., groups) need to override the visibility toggle.

Parameters:

visible (bool)

shouldDrawItem(self) bool[source]

Returns whether the item should be drawn in the current context.

Return type:

bool

signal sizePositionChanged[source]

Emitted when the item’s size or position changes.

sizeWithUnits(self) QgsLayoutSize[source]

Returns the item’s current size, including units.

See also

attemptResize()

Return type:

QgsLayoutSize

virtual startLayeredExport(self)[source]

Starts a multi-layer export operation.

See also

nextExportPart()

Added in version 3.10.

virtual stopLayeredExport(self)[source]

Stops a multi-layer export operation.

See also

nextExportPart()

Added in version 3.10.

topLeftToReferencePoint(self, point: QgsLayoutPoint) QgsLayoutPoint[source]

Returns the position for the reference point of the item, if the top-left of the item was placed at the specified point.

Parameters:

point (QgsLayoutPoint)

Return type:

QgsLayoutPoint

virtual type(self) int[source]

Returns a unique graphics item type identifier.

Plugin based subclasses should return an identifier greater than QgsLayoutItemRegistry.PluginItem.

Return type:

int

virtual uuid(self) str[source]

Returns the item identification string. This is a unique random string set for the item upon creation.

Note

There is no corresponding setter for the uuid - it’s created automatically.

See also

id()

See also

setId()

Return type:

str

virtual writePropertiesToElement(self, element: QDomElement, document: QDomDocument, context: QgsReadWriteContext) bool[source]

Stores item state within an XML DOM element.

Parameters:
  • element (QDomElement) – is the DOM element to store the item’s properties in

  • document (QDomDocument) – DOM document

  • context (QgsReadWriteContext) – read write context

See also

writeXml()

Return type:

bool

writeXml(self, parentElement: QDomElement, document: QDomDocument, context: QgsReadWriteContext) bool[source]

Stores the item state in a DOM element.

Parameters:
  • parentElement (QDomElement) – parent DOM element (e.g. ‘Layout’ element)

  • document (QDomDocument) – DOM document

  • context (QgsReadWriteContext) – read write context

See also

readXml()

Return type:

bool

virtual zoomContent(self, factor: float, point: QPointF | QPoint)[source]

Zooms content of item. Does nothing by default.

Parameters:
  • factor (float) – zoom factor, where > 1 results in a zoom in and < 1 results in a zoom out

  • point (Union[QPointF, QPoint]) – item point for zoom center

See also

moveContent()