Class: QgsRenderedFeatureHandlerInterface

class qgis.core.QgsRenderedFeatureHandlerInterface

Bases: sip.wrapper

An interface for classes which provider custom handlers for features rendered as part of a map render job.

QgsRenderedFeatureHandlerInterface objects are registered in the QgsMapSettings objects used to construct map render jobs. During the rendering operation, the handleRenderedFeature() method will be called once for every rendered feature, allowing the handler to perform some custom task based on the provided information.

They can be used for custom tasks which operate on a set of rendered features, such as creating spatial indexes of the location and rendered symbology bounding box of all features rendered on a map.

New in version 3.10:

Methods

handleRenderedFeature

Called whenever a feature is rendered during a map render job.

usedAttributes

Returns a list of attributes required by this handler, for the specified layer.

class RenderedFeatureContext(renderContext: QgsRenderContext)

Bases: sip.wrapper

Constructor for RenderedFeatureContext.

Parameters:

renderContext – The render context which was used while rendering feature.

QgsRenderedFeatureHandlerInterface.RenderedFeatureContext(QgsRenderedFeatureHandlerInterface.RenderedFeatureContext)

The render context which was used while rendering feature.

renderContext
handleRenderedFeature(self, feature: QgsFeature, renderedBounds: QgsGeometry, context: QgsRenderedFeatureHandlerInterface.RenderedFeatureContext)

Called whenever a feature is rendered during a map render job.

The renderedBounds argument specifies the (approximate) bounds of the rendered feature’s symbology. E.g. for point geometry features, this will be the bounding box of the marker symbol used to symbolize the point. renderedBounds geometries are specified in painter units (not map units).

Warning

This method may be called from many different threads (for multi-threaded map render operations), and accordingly care must be taken to ensure that handleRenderedFeature() implementations are appropriately thread safe.

The context argument is used to provide additional context relating to the rendering of a feature.

Parameters:
usedAttributes(self, layer: QgsVectorLayer, context: QgsRenderContext) Set[str]

Returns a list of attributes required by this handler, for the specified layer. Attributes not listed in here may not be requested from the provider at rendering time.

Parameters:
Return type:

Set[str]