Class: QgsAbstractPropertyCollection

Abstract base class for QgsPropertyCollection like objects.

Class Hierarchy

Inheritance diagram of qgis.core.QgsAbstractPropertyCollection

Subclasses

QgsPropertyCollection

A grouped map of multiple QgsProperty objects, each referenced by a integer key value.

QgsPropertyCollectionStack

An ordered stack of QgsPropertyCollection containers, where collections added later to the stack will take priority over earlier collections.

class qgis.core.QgsAbstractPropertyCollection[source]

Bases: object

__init__(name: str | None = '')

Constructor for QgsAbstractPropertyCollection. The name parameter should be set to a descriptive name for the collection.

Parameters:

name (Optional[str] = '')

__init__(a0: QgsAbstractPropertyCollection)
Parameters:

a0 (QgsAbstractPropertyCollection)

clear(self)[source]

Removes all properties from the collection.

hasActiveProperties(self) bool[source]

Returns True if the collection has any active properties, or False if all properties within the collection are deactivated.

Return type:

bool

hasDynamicProperties(self) bool[source]

Returns True if the collection has any active, non-static properties, or False if either all non-static properties within the collection are deactivated or if the collection only contains static properties.

Return type:

bool

hasProperty(self, key: int) bool[source]

Returns True if the collection contains a property with the specified key.

Parameters:

key (int) – integer key for property. The intended use case is that a context specific enum is cast to int and used for the key value.

See also

property()

Return type:

bool

isActive(self, key: int) bool[source]

Returns True if the collection contains an active property with the specified key.

Parameters:

key (int) – integer key for property to test. The intended use case is that a context specific enum is cast to int and used for the key value.

Return type:

bool

loadVariant(self, configuration: Any, definitions: Dict[int, QgsPropertyDefinition]) bool[source]

Loads this property collection from a QVariantMap, wrapped in a QVariant. You can use QgsXmlUtils.readVariant to save it to an XML document.

See also

toVariant()

Parameters:
Return type:

bool

name(self) str[source]

Returns the descriptive name of the property collection.

See also

setName()

Return type:

str

prepare(self, context: QgsExpressionContext = QgsExpressionContext()) bool[source]

Prepares the collection against a specified expression context. Calling prepare before evaluating the collection’s properties multiple times allows precalculation of expensive setup tasks such as parsing expressions. Returns True if preparation was successful.

Parameters:

context (QgsExpressionContext = QgsExpressionContext())

Return type:

bool

property(self, key: int) QgsProperty[source]

Returns a matching property from the collection, if one exists.

Parameters:

key (int) – integer key for property to return. The intended use case is that a context specific enum is cast to int and used for the key value.

Return type:

QgsProperty

Returns:

matching property, or null if no matching, active property found.

See also

hasProperty()

propertyKeys(self) Any

Returns a list of property keys contained within the collection.

Return type:

Any

readXml(self, collectionElem: QDomElement, definitions: Dict[int, QgsPropertyDefinition]) bool[source]

Reads property collection state from an XML element.

Parameters:
  • collectionElem (QDomElement) – source DOM element for property collection’s state

  • definitions (Dict[int, QgsPropertyDefinition]) – property definitions

See also

writeXml()

Return type:

bool

referencedFields(self, context: QgsExpressionContext = QgsExpressionContext(), ignoreContext: bool = False) Set[str]

Returns the set of any fields referenced by the active properties from the collection.

Parameters:
  • context (QgsExpressionContext = QgsExpressionContext()) – expression context the properties will be evaluated against.

  • ignoreContext (bool = False) – This parameter has been added in QGIS 3.14. When set to True, even fields not set in context’s fields() will be reported - this is useful e.g. with vector tiles where the actual available field names may not be known beforehand.

Return type:

Set[str]

setName(self, name: str | None)[source]

Sets the descriptive name for the property collection.

See also

name()

Parameters:

name (Optional[str])

toVariant(self, definitions: Dict[int, QgsPropertyDefinition]) Any[source]

Saves this property collection to a QVariantMap, wrapped in a QVariant. You can use QgsXmlUtils.writeVariant to save it to an XML document.

See also

loadVariant()

Parameters:

definitions (Dict[int, QgsPropertyDefinition])

Return type:

Any

value(self, key: int, context: QgsExpressionContext, defaultValue: Any = None) Any[source]

Returns the calculated value of the property with the specified key from within the collection. If you need the validity of the value (like ok provided from the valueAs* variants) refer to the property() and QgsProperty.value()

Parameters:
  • key (int) – integer key for property to return. The intended use case is that a context specific enum is cast to int and used for the key value.

  • context (QgsExpressionContext) – expression context to evaluate property against

  • defaultValue (Any = None) – default value to return if no matching, active property found or if the property value cannot be calculated

Return type:

Any

Returns:

calculated property value, or default value if property could not be evaluated

See also

valueAsString()

See also

valueAsColor()

See also

valueAsDouble()

See also

valueAsInt()

See also

valueAsBool()

valueAsBool(self, key: int, context: QgsExpressionContext, defaultValue: bool = False)[source]

Calculates the current value of the property with the specified key and interprets it as an boolean.

Parameters:
  • key (int) – integer key for property to return. The intended use case is that a context specific enum is cast to int and used for the key value.

  • context (QgsExpressionContext) – QgsExpressionContext to evaluate the property for.

  • defaultValue (bool = False) -> (bool) – default boolean to return if the property cannot be calculated as a boolean

Returns:

  • value parsed to bool

  • ok: True if conversion was successful

See also

value()

See also

valueAsString()

See also

valueAsColor()

See also

valueAsDouble()

See also

valueAsInt()

valueAsColor(self, key: int, context: QgsExpressionContext, defaultColor: QColor | Qt.GlobalColor = QColor())[source]

Calculates the current value of the property with the specified key and interprets it as a color.

Parameters:
  • key (int) – integer key for property to return. The intended use case is that a context specific enum is cast to int and used for the key value.

  • context (QgsExpressionContext) – QgsExpressionContext to evaluate the property for.

  • defaultColor (Union[QColor, Qt.GlobalColor] = QColor()) -> (QColor) – default color to return if the property cannot be calculated as a color

Returns:

  • value parsed to color

  • ok: True if conversion was successful

See also

value()

See also

valueAsString()

See also

valueAsDouble()

See also

valueAsInt()

See also

valueAsBool()

valueAsDateTime(self, key: int, context: QgsExpressionContext, defaultDateTime: QDateTime | datetime.datetime = QDateTime())[source]

Calculates the current value of the property with the specified key and interprets it as a datetime.

Parameters:
  • key (int) – integer key for property to return. The intended use case is that a context specific enum is cast to int and used for the key value.

  • context (QgsExpressionContext) – QgsExpressionContext to evaluate the property for.

  • defaultDateTime (Union[QDateTime, datetime.datetime] = QDateTime()) -> (QDateTime) – default datetime to return if the property cannot be calculated as a datetime

Returns:

  • value parsed to datetime

  • ok: True if conversion was successful

See also

value()

See also

valueAsString()

See also

valueAsColor()

See also

valueAsDouble()

See also

valueAsInt()

See also

valueAsBool()

Added in version 3.14.

valueAsDouble(self, key: int, context: QgsExpressionContext, defaultValue: float = 0)[source]

Calculates the current value of the property with the specified key and interprets it as a double.

Parameters:
  • key (int) – integer key for property to return. The intended use case is that a context specific enum is cast to int and used for the key value.

  • context (QgsExpressionContext) – QgsExpressionContext to evaluate the property for.

  • defaultValue (float = 0) -> (float) – default double to return if the property cannot be calculated as a double

Returns:

  • value parsed to double

  • ok: True if conversion was successful

See also

value()

See also

valueAsString()

See also

valueAsColor()

See also

valueAsInt()

See also

valueAsBool()

valueAsInt(self, key: int, context: QgsExpressionContext, defaultValue: int = 0)[source]

Calculates the current value of the property with the specified key and interprets it as an integer.

Parameters:
  • key (int) – integer key for property to return. The intended use case is that a context specific enum is cast to int and used for the key value.

  • context (QgsExpressionContext) – QgsExpressionContext to evaluate the property for.

  • defaultValue (int = 0) -> (int) – default integer to return if the property cannot be calculated as a integer

Returns:

  • value parsed to integer

  • ok: True if conversion was successful

See also

value()

See also

valueAsString()

See also

valueAsColor()

See also

valueAsDouble()

See also

valueAsBool()

valueAsString(self, key: int, context: QgsExpressionContext, defaultString: str | None = '')[source]

Calculates the current value of the property with the specified key and interprets it as a string.

Parameters:
  • key (int) – integer key for property to return. The intended use case is that a context specific enum is cast to int and used for the key value.

  • context (QgsExpressionContext) – QgsExpressionContext to evaluate the property for.

  • defaultString (Optional[str] = '') -> (str) – default string to return if the property cannot be calculated as a string

Returns:

  • value parsed to string

  • ok: True if conversion was successful

See also

value()

See also

valueAsColor()

See also

valueAsDouble()

See also

valueAsInt()

See also

valueAsBool()

writeXml(self, collectionElem: QDomElement, definitions: Dict[int, QgsPropertyDefinition]) bool[source]

Writes the current state of the property collection into an XML element

Parameters:
  • collectionElem (QDomElement) – destination element for the property collection’s state

  • definitions (Dict[int, QgsPropertyDefinition]) – property definitions

See also

readXml()

Return type:

bool