Class: QgsProviderSublayerModel

A model for representing the sublayers present in a URI.

QgsProviderSublayerModel is designed to present a tree view of the sublayers available for a URI, including any vector, raster or mesh sublayers present.

Additionally, QgsProviderSublayerModel can include some non-sublayer items, e.g. in order to represent other content available for a URI, such as embedded project items. The non-sublayer items can be added by calling addNonLayerItem().

Added in version 3.22.

Class Hierarchy

Inheritance diagram of qgis.core.QgsProviderSublayerModel

Base classes

QAbstractItemModel

QObject

Subclasses

QgsProviderSublayerDialogModel

A model for representing the sublayers present in a URI for the QgsProviderSublayersDialog.

class qgis.core.QgsProviderSublayerModel[source]

Bases: QAbstractItemModel

__init__(parent: QObject | None = None)

Constructor for QgsProviderSublayerModel, with the specified parent object.

Parameters:

parent (Optional[QObject] = None)

class Column(*values)

Bases: IntEnum

Model columns

  • Name: Layer name

  • Description: Layer description

Description = 1
Name = 0
class NonLayerItem[source]

Bases: object

Contains details for a non-sublayer item to include in a QgsProviderSublayerModel.

Added in version 3.22.

description(self) str[source]

Returns the item’s description.

See also

setDescription()

Return type:

str

icon(self) QIcon[source]

Returns the item’s icon.

See also

setIcon()

Return type:

QIcon

name(self) str[source]

Returns the item’s name.

See also

setName()

Return type:

str

setDescription(self, description: str | None)[source]

Sets the item’s description.

See also

setDescription()

Parameters:

description (Optional[str])

setIcon(self, icon: QIcon)[source]

Sets the item’s icon.

See also

setIcon()

Parameters:

icon (QIcon)

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

Sets the item’s name.

See also

setName()

Parameters:

name (Optional[str])

setType(self, type: str | None)[source]

Sets the item’s type.

See also

type()

Parameters:

type (Optional[str])

setUri(self, uri: str | None)[source]

Set the item’s uri.

See also

setUri()

Parameters:

uri (Optional[str])

type(self) str[source]

Returns the item’s type.

See also

setType()

Return type:

str

uri(self) str[source]

Returns the item’s URI.

See also

setUri()

Return type:

str

class Role(*values)

Bases: IntEnum

Custom model roles

  • ProviderKey: Provider key

  • LayerType: Layer type

  • Uri: Layer URI

  • Name: Layer name

  • Description: Layer description

  • Path: Layer path

  • FeatureCount: Feature count (for vector sublayers)

  • WkbType: WKB geometry type (for vector sublayers)

  • GeometryColumnName: Geometry column name (for vector sublayers)

  • LayerNumber: Layer number

  • IsNonLayerItem: True if item is a non-sublayer item (e.g. an embedded project)

  • NonLayerItemType: Item type (for non-sublayer items)

  • Flags: Sublayer flags

Description = 261
FeatureCount = 263
Flags = 269
GeometryColumnName = 265
IsNonLayerItem = 267
LayerNumber = 266
LayerType = 258
Name = 260
NonLayerItemType = 268
Path = 262
ProviderKey = 257
Uri = 259
WkbType = 264
addNonLayerItem(self, item: QgsProviderSublayerModel.NonLayerItem)[source]

Adds a non-layer item (e.g. an embedded QGIS project item) to the model.

Parameters:

item (QgsProviderSublayerModel.NonLayerItem)

indexToNonLayerItem(self, index: QModelIndex) QgsProviderSublayerModel.NonLayerItem[source]

Returns the non layer item corresponding to the given index.

Parameters:

index (QModelIndex)

Return type:

QgsProviderSublayerModel.NonLayerItem

indexToSublayer(self, index: QModelIndex) QgsProviderSublayerDetails[source]

Returns the sublayer corresponding to the given index.

Parameters:

index (QModelIndex)

Return type:

QgsProviderSublayerDetails

setSublayerDetails(self, details: Iterable[QgsProviderSublayerDetails])[source]

Sets the sublayer details to show in the model.

Parameters:

details (Iterable[QgsProviderSublayerDetails])

sublayerDetails(self) List[QgsProviderSublayerDetails]

Returns the sublayer details shown in the model.

Return type:

List[QgsProviderSublayerDetails]