Class: QgsLayoutManager

class qgis.core.QgsLayoutManager

Bases: PyQt5.QtCore.QObject

Manages storage of a set of layouts.

QgsLayoutManager handles the storage, serializing and deserializing of print layouts and reports. Usually this class is not constructed directly, but rather accessed through a QgsProject via QgsProject.layoutManager().

QgsLayoutManager retains ownership of all the layouts contained in the manager.

New in version 3.0.

QgsLayoutManager(project: QgsProject = None) Constructor for QgsLayoutManager. The project will become the parent object for this manager.

Methods

accept

Accepts the specified style entity visitor, causing it to visit all style entities associated within the contained layouts.

addLayout

Adds a layout to the manager.

childEvent

clear

Removes and deletes all layouts from the manager.

connectNotify

customEvent

disconnectNotify

duplicateLayout

Duplicates an existing layout from the manager.

generateUniqueTitle

Generates a unique title for a new layout of the specified type, which does not clash with any already contained by the manager.

isSignalConnected

layoutByName

Returns the layout with a matching name, or None if no matching layouts were found.

layouts

Returns a list of all layouts contained in the manager.

printLayouts

Returns a list of all print layouts contained in the manager.

readXml

Reads the manager's state from a DOM element, restoring all layouts present in the XML document.

receivers

removeLayout

Removes a layout from the manager.

sender

senderSignalIndex

timerEvent

writeXml

Returns a DOM element representing the state of the manager.

Signals

layoutAboutToBeAdded

Emitted when a layout is about to be added to the manager [signal]

layoutAboutToBeRemoved

Emitted when a layout is about to be removed from the manager [signal]

layoutAdded

Emitted when a layout has been added to the manager [signal]

layoutRemoved

Emitted when a layout was removed from the manager [signal]

layoutRenamed

Emitted when a layout is renamed [signal]

accept(self, visitor: QgsStyleEntityVisitorInterface) bool

Accepts the specified style entity visitor, causing it to visit all style entities associated within the contained layouts.

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

New in version 3.10.

Parameters

visitor (QgsStyleEntityVisitorInterface) –

Return type

bool

addLayout(self, layout: QgsMasterLayoutInterface) bool

Adds a layout to the manager. Ownership of the layout is transferred to the manager. Returns True if the addition was successful, or False if the layout could not be added (eg as a result of a duplicate layout name).

See also

removeLayout()

See also

layoutAdded()

Parameters

layout (QgsMasterLayoutInterface) –

Return type

bool

childEvent(self, QChildEvent)
clear(self)

Removes and deletes all layouts from the manager.

See also

removeLayout()

connectNotify(self, QMetaMethod)
customEvent(self, QEvent)
disconnectNotify(self, QMetaMethod)
duplicateLayout(self, layout: QgsMasterLayoutInterface, newName: str) QgsMasterLayoutInterface

Duplicates an existing layout from the manager. The new layout will automatically be stored in the manager. Returns the new layout if duplication was successful.

Parameters
Return type

QgsMasterLayoutInterface

generateUniqueTitle(self, type: QgsMasterLayoutInterface.Type = QgsMasterLayoutInterface.PrintLayout) str

Generates a unique title for a new layout of the specified type, which does not clash with any already contained by the manager.

Parameters

type (QgsMasterLayoutInterface.Type = QgsMasterLayoutInterface.PrintLayout) –

Return type

str

isSignalConnected(self, QMetaMethod) bool
layoutAboutToBeAdded

Emitted when a layout is about to be added to the manager [signal]

Parameters

name (str) –

layoutAboutToBeRemoved

Emitted when a layout is about to be removed from the manager [signal]

Parameters

name (str) –

layoutAdded

Emitted when a layout has been added to the manager [signal]

Parameters

name (str) –

layoutByName(self, name: str) QgsMasterLayoutInterface

Returns the layout with a matching name, or None if no matching layouts were found.

Parameters

name (str) –

Return type

QgsMasterLayoutInterface

layoutRemoved

Emitted when a layout was removed from the manager [signal]

Parameters

name (str) –

layoutRenamed

Emitted when a layout is renamed [signal]

Parameters
layouts(self) List[QgsMasterLayoutInterface]

Returns a list of all layouts contained in the manager.

Return type

List[QgsMasterLayoutInterface]

printLayouts(self) List[QgsPrintLayout]

Returns a list of all print layouts contained in the manager.

Return type

List[QgsPrintLayout]

readXml(self, element: QDomElement, doc: QDomDocument) bool

Reads the manager’s state from a DOM element, restoring all layouts present in the XML document.

See also

writeXml()

Parameters
  • element (QDomElement) –

  • doc (QDomDocument) –

Return type

bool

receivers(self, PYQT_SIGNAL) int
removeLayout(self, layout: QgsMasterLayoutInterface) bool

Removes a layout from the manager. The layout is deleted. Returns True if the removal was successful, or False if the removal failed (eg as a result of removing a layout which is not contained in the manager).

See also

addLayout()

See also

layoutRemoved()

See also

clear()

Parameters

layout (QgsMasterLayoutInterface) –

Return type

bool

sender(self) QObject
senderSignalIndex(self) int
timerEvent(self, QTimerEvent)
writeXml(self, doc: QDomDocument) QDomElement

Returns a DOM element representing the state of the manager.

See also

readXml()

Parameters

doc (QDomDocument) –

Return type

QDomElement