Class: QgsEffectStack

class qgis.core.QgsEffectStack

Bases: QgsPaintEffect

Constructor for empty QgsEffectStack.

QgsEffectStack(other: QgsEffectStack)

QgsEffectStack(effect: QgsPaintEffect) Creates a new QgsEffectStack effect from a single initial effect.

Parameters

effect – initial effect to add to the stack. The effect will be cloned, so ownership is not transferred to the stack.

Returns

new QgsEffectStack containing initial effect

A paint effect which consists of a stack of other chained paint effects

Effect stacks can be used to apply multiple paint effects to a QPicture. For instance, an effect stack may blur then apply a drop shadow.

The way in which effects apply to a stack is controlled by the effect’s drawMode. Effects can either render their results onto the destination paint device, or just modify the source picture which is drawn by subsequent effects in the stack. For instance, a blur effect with a Modifier drawMode will blur the source picture for the following drop shadow effect without actually drawing the blurred picture to the paint device. If the blur effect had a Render drawMode then the blurred picture will be drawn on the paint device, but the following drop shadow effect will be drawn using the original picture, not the blurred version.

Methods

appendEffect

Appends an effect to the end of the stack.

boundingRect

changeEffect

Replaces the effect at a specified position within the stack.

clone

rtype

QgsEffectStack

count

Returns count of effects contained by the stack

create

Creates a new QgsEffectStack effect.

draw

param context

drawSource

effect

Returns a pointer to the effect at a specified index within the stack

effectList

Returns a pointer to the list of effects currently contained by the stack

fixQPictureDpi

imageOffset

insertEffect

Inserts an effect at a specified index within the stack.

properties

Unused for QgsEffectStack, will always return an empty string map

readProperties

readProperties(self, props: Dict[str, str]) Unused for QgsEffectStack, props parameter will be ignored

saveProperties

param doc

source

sourceAsImage

takeEffect

Removes an effect from the stack and returns a pointer to it.

type

rtype

str

appendEffect(self, effect: QgsPaintEffect)

Appends an effect to the end of the stack.

Parameters

effect (QgsPaintEffect) – QgsPaintEffect to append. Ownership of the effect will be transferred to the stack object.

See also

insertEffect()

boundingRect()
changeEffect(self, index: int, effect: QgsPaintEffect) → bool

Replaces the effect at a specified position within the stack.

Parameters
  • index (int) – position of effect to replace

  • effect (QgsPaintEffect) – QgsPaintEffect to replace with. Ownership of the effect will be transferred to the stack object.

Return type

bool

clone(self) → QgsEffectStack
Return type

QgsEffectStack

count(self) → int

Returns count of effects contained by the stack

Return type

int

Returns

count of effects

create(map: Dict[str, str]) → QgsPaintEffect

Creates a new QgsEffectStack effect. This method ignores the map parameter, and always returns an empty effect stack.

Parameters

map (Dict[str) – unused encoded properties string map

Return type

QgsPaintEffect

Returns

new QgsEffectStack

draw(self, context: QgsRenderContext)
Parameters

context (QgsRenderContext) –

drawSource()
effect(self, index: int) → QgsPaintEffect

Returns a pointer to the effect at a specified index within the stack

Parameters

index (int) – position of effect to return

Return type

QgsPaintEffect

Returns

QgsPaintEffect at specified position

effectList(self) → List[QgsPaintEffect]

Returns a pointer to the list of effects currently contained by the stack

Return type

List[QgsPaintEffect]

Returns

list of QgsPaintEffects within the stack

fixQPictureDpi()
imageOffset()
insertEffect(self, index: int, effect: QgsPaintEffect) → bool

Inserts an effect at a specified index within the stack.

Parameters
  • index (int) – position to insert the effect

  • effect (QgsPaintEffect) – QgsPaintEffect to insert. Ownership of the effect will be transferred to the stack object.

See also

appendEffect()

Return type

bool

properties(self) → Dict[str, str]

Unused for QgsEffectStack, will always return an empty string map

Return type

Dict[str, str]

readProperties(self, element: QDomElement) → bool

readProperties(self, props: Dict[str, str]) Unused for QgsEffectStack, props parameter will be ignored

Parameters

element (QDomElement) –

Return type

bool

saveProperties(self, doc: QDomDocument, element: QDomElement) → bool
Parameters
  • doc (QDomDocument) –

  • element (QDomElement) –

Return type

bool

source()
sourceAsImage()
takeEffect(self, index: int) → QgsPaintEffect

Removes an effect from the stack and returns a pointer to it.

Parameters

index (int) – position of effect to take

Return type

QgsPaintEffect

type(self) → str
Return type

str