Class: QgsProjectProperty

An abstract base class for QGIS project property hierarchys.

Each sub-class is either a QgsProjectPropertyKey or QgsProjectPropertyValue. QgsProjectPropertyKey can contain either QgsProjectPropertyKey or QgsProjectPropertyValues, thus describing an hierarchy. QgsProjectPropertyValues are always graph leaves.

Note

This class is used internally by QgsProject. It’s generally recommended that the methods in QgsProject are used to modify project properties rather than using these low-level classes.

Note

This is an abstract class, with methods which must be implemented by a subclass.

The following methods must be implemented: dump(), isKey(), isLeaf(), isValue(), readXml(), value(), writeXml()

Class Hierarchy

Inheritance diagram of qgis.core.QgsProjectProperty

Subclasses

QgsProjectPropertyKey

Project property key node.

QgsProjectPropertyValue

Project property value node, contains a QgsProjectPropertyKey’s value.

Abstract Methods

dump

Dumps out the keys and values

isKey

Returns True if the property is a QgsProjectPropertyKey.

isLeaf

Returns True if property is a leaf node.

isValue

Returns True if the property is a QgsProjectPropertyValue.

readXml

Restores the property hierarchy from a specified DOM node.

value

Returns the node's value.

writeXml

Writes the property hierarchy to a specified DOM element.

class qgis.core.QgsProjectProperty[source]

Bases: object

abstract dump(self, tabs: int = 0)[source]

Dumps out the keys and values

Parameters:

tabs (int = 0) – is number of tabs to print; used for pretty-printing hierarchy

abstract isKey(self) bool[source]

Returns True if the property is a QgsProjectPropertyKey.

See also

isValue()

See also

isLeaf()

Return type:

bool

abstract isLeaf(self) bool[source]

Returns True if property is a leaf node.

A leaf node is a key node that has either no value or only a single value. A non-leaf node would be a key node with key sub-nodes.

This is used for entryList() and subkeyList() implementation.

Return type:

bool

abstract isValue(self) bool[source]

Returns True if the property is a QgsProjectPropertyValue.

See also

isKey()

See also

isLeaf()

Return type:

bool

abstract readXml(self, keyNode: QDomNode) bool[source]

Restores the property hierarchy from a specified DOM node.

Used for restoring properties from project file

Parameters:

keyNode (QDomNode)

Return type:

bool

abstract value(self) Any[source]

Returns the node’s value.

For QgsProjectPropertyValue nodes, this is straightforward – just return the embedded QVariant, _value. For QgsProjectPropertyKey, this means returning the QgsProjectPropertyValue _value that is keyed by its name, if it exists; i.e., QgsProjectPropertyKey “foo” will return the property value mapped to its name, “foo”, in its QHash of QProperties.

Return type:

Any

abstract writeXml(self, nodeName: str | None, element: QDomElement, document: QDomDocument) bool[source]

Writes the property hierarchy to a specified DOM element.

Used for saving properties to project file.

Parameters:
  • nodeName (Optional[str]) – the tag name associated with this element

  • element (QDomElement) – the parent (or encompassing) property element

  • document (QDomDocument) – the overall project file Dom document

Return type:

bool