Class: QgsProperty

class qgis.core.QgsProperty

Bases: sip.wrapper

Constructor for a QgsAbstractProperty. The property will be set to an InvalidProperty type.

QgsProperty(other: QgsProperty) Copy constructor

A store for object properties.

QgsProperty objects are used for storing properties for objects, which can then be transformed to a QVariant value by evaluating them against a supplied QgsExpressionContext. Multiple QgsProperty objects can be grouped using a QgsPropertyCollection for easier bulk storage, retrieval and evaluation.

QgsProperty objects are implicitly shared and can be inexpensively copied.

New in version 3.0: Enums

Methods

asExpression Returns an expression string representing the state of the property, or an empty string if the property could not be converted to an expression
convertToTransformer Attempts to convert an existing expression based property to a base expression with corresponding transformer.
expressionString Returns the expression used for the property value.
field Returns the current field name the property references.
fromExpression Returns a new ExpressionBasedProperty created from the specified expression.
fromField Returns a new FieldBasedProperty created from the specified field name.
fromValue Returns a new StaticProperty created from the specified value.
isActive Returns whether the property is currently active.
isProjectColor Returns True if the property is set to a linked project color.
loadVariant Loads this property from a QVariantMap, wrapped in a QVariant.
prepare Prepares the property against a specified expression context.
propertyType Returns the property type.
referencedFields Returns the set of any fields referenced by the property for a specified expression context.
setActive Sets whether the property is currently active.
setExpressionString Sets the expression to use for the property value.
setField Sets the field name the property references.
setStaticValue Sets the static value for the property.
setTransformer Sets an optional transformer to use for manipulating the calculated values for the property.
staticValue Returns the current static value for the property.
toVariant Saves this property to a QVariantMap, wrapped in a QVariant.
transformer Returns the existing transformer used for manipulating the calculated values for the property, if set.
value Calculates the current value of the property, including any transforms which are set for the property
valueAsBool Calculates the current value of the property and interprets it as an boolean.
valueAsColor Calculates the current value of the property and interprets it as a color.
valueAsDouble Calculates the current value of the property and interprets it as a double.
valueAsInt Calculates the current value of the property and interprets it as an integer.
valueAsString Calculates the current value of the property and interprets it as a string.

Signals

Attributes

ExpressionBasedProperty
FieldBasedProperty
InvalidProperty
StaticProperty
ExpressionBasedProperty = 3
FieldBasedProperty = 2
InvalidProperty = 0
StaticProperty = 1
class Type

Bases: int

asExpression(self) → str

Returns an expression string representing the state of the property, or an empty string if the property could not be converted to an expression

convertToTransformer(self) → bool

Attempts to convert an existing expression based property to a base expression with corresponding transformer. Returns True if conversion was successful. Note that calling this method requires multiple parsing of expressions, so it should only be called in non-performance critical code.

expressionString(self) → str

Returns the expression used for the property value. If the property is not a ExpressionBasedProperty this will return an empty string.

field(self) → str

Returns the current field name the property references. If the property is not a FieldBasedProperty this will return an empty string.

See also

setField()

fromExpression(expression: str, isActive: bool = True) → QgsProperty

Returns a new ExpressionBasedProperty created from the specified expression.

fromField(fieldName: str, isActive: bool = True) → QgsProperty

Returns a new FieldBasedProperty created from the specified field name.

fromValue(value: Any, isActive: bool = True) → QgsProperty

Returns a new StaticProperty created from the specified value.

isActive(self) → bool

Returns whether the property is currently active.

See also

setActive()

isProjectColor(self) → bool

Returns True if the property is set to a linked project color.

New in version 3.6.

loadVariant(self, property: Any) → bool

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

See also

toVariant()

prepare(self, context: QgsExpressionContext = QgsExpressionContext()) → bool

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

propertyType(self) → QgsProperty.Type

Returns the property type.

referencedFields(self, context: QgsExpressionContext = QgsExpressionContext()) → Set[str]

Returns the set of any fields referenced by the property for a specified expression context.

setActive(self, active: bool)

Sets whether the property is currently active.

See also

isActive()

setExpressionString(self, expression: str)

Sets the expression to use for the property value. Calling this will transform the property into an ExpressionBasedProperty.

setField(self, field: str)

Sets the field name the property references. Calling this will transform the property into an FieldBasedProperty.

See also

field()

setStaticValue(self, value: Any)

Sets the static value for the property. Calling this will transform the property into an StaticProperty.

See also

staticValue()

setTransformer(self, transformer: QgsPropertyTransformer)

Sets an optional transformer to use for manipulating the calculated values for the property.

Parameters:transformer – transformer to install. Ownership is transferred to the property, and any existing transformer will be deleted. Set to None to remove an existing transformer.

See also

transformer()

staticValue(self) → Any

Returns the current static value for the property. If the property is not a StaticProperty this will return an invalid variant.

See also

setStaticValue()

toVariant(self) → Any

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

See also

loadVariant()

transformer(self) → QgsPropertyTransformer

Returns the existing transformer used for manipulating the calculated values for the property, if set.

See also

setTransformer()

value(self, context: QgsExpressionContext, defaultValue: Any = None) → Tuple[Any, bool]

Calculates the current value of the property, including any transforms which are set for the property

Parameters:
  • context – QgsExpressionContext to evaluate the property for. The variables and functions contained in the expression context can be used to alter the calculated value for the property, so that a property is able to respond to the current environment, layers and features within QGIS.
  • defaultValue – default value to return if the property is not active or cannot be calculated
Returns:

  • calculated value for property
  • ok: will be set to True if conversion was successful

See also

valueAsString()

See also

valueAsColor()

See also

valueAsDouble()

See also

valueAsInt()

See also

valueAsBool()

valueAsBool(self, context: QgsExpressionContext, defaultValue: bool = False) → Tuple[bool, bool]

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

Parameters:
  • context – QgsExpressionContext to evaluate the property for.
  • defaultValue – default boolean to return if the property cannot be calculated as an boolean
Returns:

  • value parsed to boolean
  • ok: will be set to True if conversion was successful

See also

value()

See also

valueAsString()

See also

valueAsColor()

See also

valueAsDouble()

See also

valueAsInt()

valueAsColor(self, context: QgsExpressionContext, defaultColor: Union[QColor, Qt.GlobalColor, QGradient] = QColor()) → Tuple[QColor, bool]

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

Parameters:
  • context – QgsExpressionContext to evaluate the property for.
  • defaultColor – default color to return if the property cannot be calculated as a color
Returns:

  • value parsed to color
  • ok: will be set to True if conversion was successful

See also

value()

See also

valueAsString()

See also

valueAsDouble()

See also

valueAsInt()

See also

valueAsBool()

valueAsDouble(self, context: QgsExpressionContext, defaultValue: float = 0) → Tuple[float, bool]

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

Parameters:
  • context – QgsExpressionContext to evaluate the property for.
  • defaultValue – default double to return if the property cannot be calculated as a double
Returns:

  • value parsed to double
  • ok: will be set to True if conversion was successful

See also

value()

See also

valueAsString()

See also

valueAsColor()

See also

valueAsInt()

See also

valueAsBool()

valueAsInt(self, context: QgsExpressionContext, defaultValue: int = 0) → Tuple[int, bool]

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

Parameters:
  • context – QgsExpressionContext to evaluate the property for.
  • defaultValue – default integer to return if the property cannot be calculated as an integer
Returns:

  • value parsed to integer
  • ok: will be set to True if conversion was successful

See also

value()

See also

valueAsString()

See also

valueAsColor()

See also

valueAsDouble()

See also

valueAsBool()

valueAsString(self, context: QgsExpressionContext, defaultString: str = '') → Tuple[str, bool]

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

Parameters:
  • context – QgsExpressionContext to evaluate the property for.
  • defaultString – default string to return if the property cannot be calculated as a string
Returns:

  • value parsed to string
  • ok: will be set to True if conversion was successful

See also

value()

See also

valueAsColor()

See also

valueAsDouble()

See also

valueAsInt()

See also

valueAsBool()