Class: QgsProviderSublayerModel

class qgis.core.QgsProviderSublayerModel

Bases: PyQt5.QtCore.QAbstractItemModel

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().

New in version 3.22.

QgsProviderSublayerModel(parent: QObject = None) Constructor for QgsProviderSublayerModel, with the specified parent object.

Enums

Column

Bases: enum.IntEnum

Role

Bases: enum.IntEnum

Methods

addNonLayerItem

Adds a non-layer item (e.g.

beginInsertColumns

beginInsertRows

beginMoveColumns

beginMoveRows

beginRemoveColumns

beginRemoveRows

beginResetModel

changePersistentIndex

changePersistentIndexList

childEvent

columnCount

param parent

connectNotify

createIndex

customEvent

data

param index

decodeData

disconnectNotify

encodeData

endInsertColumns

endInsertRows

endMoveColumns

endMoveRows

endRemoveColumns

endRemoveRows

endResetModel

headerData

param section

index

param row

indexToNonLayerItem

Returns the non layer item corresponding to the given index.

indexToSublayer

Returns the sublayer corresponding to the given index.

isSignalConnected

parent

param index

persistentIndexList

receivers

resetInternalData

rowCount

param parent

sender

senderSignalIndex

setSublayerDetails

Sets the sublayer details to show in the model.

sublayerDetails

Returns the sublayer details shown in the model.

timerEvent

class Column(value)

Bases: enum.IntEnum

Model columns

  • Name: Layer name

  • Description: Layer description

Description = 1
Name = 0
class NonLayerItem

Bases: sip.wrapper

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

New in version 3.22.

description(self)str

Returns the item’s description.

See also

setDescription()

Return type

str

icon(self)QIcon

Returns the item’s icon.

See also

setIcon()

Return type

QIcon

name(self)str

Returns the item’s name.

See also

setName()

Return type

str

setDescription(self, description: str)

Sets the item’s description.

See also

setDescription()

Parameters

description (str) –

setIcon(self, icon: QIcon)

Sets the item’s icon.

See also

setIcon()

Parameters

icon (QIcon) –

setName(self, name: str)

Sets the item’s name.

See also

setName()

Parameters

name (str) –

setType(self, type: str)

Sets the item’s type.

See also

type()

Parameters

type (str) –

setUri(self, uri: str)

Set the item’s uri.

See also

setUri()

Parameters

uri (str) –

type(self)str

Returns the item’s type.

See also

setType()

Return type

str

uri(self)str

Returns the item’s URI.

See also

setUri()

Return type

str

class Role(value)

Bases: enum.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)

Description = 261
FeatureCount = 263
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)

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

Parameters

item (QgsProviderSublayerModel.NonLayerItem) –

QgsProviderSublayerModel.beginInsertColumns(self, QModelIndex, int, int)
QgsProviderSublayerModel.beginInsertRows(self, QModelIndex, int, int)
QgsProviderSublayerModel.beginMoveColumns(self, QModelIndex, int, int, QModelIndex, int) -> bool
QgsProviderSublayerModel.beginMoveRows(self, QModelIndex, int, int, QModelIndex, int) -> bool
QgsProviderSublayerModel.beginRemoveColumns(self, QModelIndex, int, int)
QgsProviderSublayerModel.beginRemoveRows(self, QModelIndex, int, int)
beginResetModel(self)
QgsProviderSublayerModel.changePersistentIndex(self, QModelIndex, QModelIndex)
changePersistentIndexList(self, Iterable[QModelIndex], Iterable[QModelIndex])
childEvent(self, QChildEvent)
columnCount(self, parent: QModelIndex = QModelIndex())int
Parameters

parent (QModelIndex = QModelIndex()) –

Return type

int

connectNotify(self, QMetaMethod)
QgsProviderSublayerModel.createIndex(self, int, int, object: object = 0) -> QModelIndex
customEvent(self, QEvent)
data(self, index: QModelIndex, role: int)Any
Parameters
  • index (QModelIndex) –

  • role (int) –

Return type

Any

QgsProviderSublayerModel.decodeData(self, int, int, QModelIndex, QDataStream) -> bool
disconnectNotify(self, QMetaMethod)
encodeData(self, Iterable[QModelIndex], QDataStream)
endInsertColumns(self)
endInsertRows(self)
endMoveColumns(self)
endMoveRows(self)
endRemoveColumns(self)
endRemoveRows(self)
endResetModel(self)
headerData(self, section: int, orientation: Qt.Orientation, role: int = Qt.DisplayRole)Any
Parameters
  • section (int) –

  • orientation (Qt.Orientation) –

  • role (int = Qt.DisplayRole) –

Return type

Any

index(self, row: int, column: int, parent: QModelIndex = QModelIndex())QModelIndex
Parameters
  • row (int) –

  • column (int) –

  • parent (QModelIndex = QModelIndex()) –

Return type

QModelIndex

indexToNonLayerItem(self, index: QModelIndex)QgsProviderSublayerModel.NonLayerItem

Returns the non layer item corresponding to the given index.

Parameters

index (QModelIndex) –

Return type

QgsProviderSublayerModel.NonLayerItem

indexToSublayer(self, index: QModelIndex)QgsProviderSublayerDetails

Returns the sublayer corresponding to the given index.

Parameters

index (QModelIndex) –

Return type

QgsProviderSublayerDetails

isSignalConnected(self, QMetaMethod)bool
parent(self, index: QModelIndex)QModelIndex
Parameters

index (QModelIndex) –

Return type

QModelIndex

persistentIndexList(self)List[QModelIndex]
receivers(self, PYQT_SIGNAL)int
resetInternalData(self)
rowCount(self, parent: QModelIndex)int
Parameters

parent (QModelIndex) –

Return type

int

sender(self)QObject
senderSignalIndex(self)int
setSublayerDetails(self, details: Iterable[QgsProviderSublayerDetails])

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]

timerEvent(self, QTimerEvent)