Subgroup: other

Class: QgsBrowserModel

class qgis.core.QgsBrowserModel(parent: QObject = None)

Bases: PyQt5.QtCore.QAbstractItemModel

Constructor for QgsBrowserModel, with the specified parent object.

Note

QgsBrowserModel models are not initially populated and use a deferred initialization approach. After constructing a QgsBrowserModel, a call must be made to initialize() in order to populate the model.

A model for showing available data sources and other items in a structured tree.

QgsBrowserModel is the foundation for the QGIS browser panel, and includes items for the different data providers and folders accessible to users.

QgsBrowserModel models are not initially populated and use a deferred initialization approach. After constructing a QgsBrowserModel, a call must be made to initialize() in order to populate the model.

Methods

addFavoriteDirectory Adds a directory to the favorites group.
addRootItems Populates the model
beginInsertColumns
beginInsertItems
beginInsertRows
beginMoveColumns
beginMoveRows
beginRemoveColumns
beginRemoveItems
beginRemoveRows
beginResetModel
canFetchMore
changePersistentIndex
changePersistentIndexList
childEvent
columnCount
connectItem
connectNotify
createIndex
customEvent
data
dataItem
decodeData
disconnectNotify
dropMimeData
encodeData
endInsertColumns
endInsertItems
endInsertRows
endMoveColumns
endMoveRows
endRemoveColumns
endRemoveItems
endRemoveRows
endResetModel
fetchMore
findItem
findPath Returns index of item with given path.
flags
hasChildren
headerData
hidePath Hide the given path in the browser model
index
initialize Delayed initialization, needed because the provider registry must be already populated.
initialized Returns true if the model has been initialized.
isSignalConnected
itemDataChanged
itemStateChanged
mimeData
mimeTypes
parent
persistentIndexList
receivers
refresh Refresh item specified by path
reload Reload the whole model
removeFavorite Removes a favorite directory from its corresponding model index.
removeRootItems
resetInternalData
rowCount
sender
senderSignalIndex
timerEvent
updateProjectHome

Signals

connectionsChanged Connections changed in the browser, forwarded to the widget and used to notify the provider dialogs of a changed connection [signal]
stateChanged Emitted when item children fetch was finished [signal]

Attributes

CommentRole
PathRole
SortRole
CommentRole = 257
class ItemDataRole

Bases: int

PathRole = 256
SortRole = 258
addFavoriteDirectory(self, directory: str, name: str = '')

Adds a directory to the favorites group.

If name is specified, it will be used as the favorite’s name. Otherwise the name will be set to match directory.

See also

removeFavorite()

New in version 3.0.

addRootItems(self)

Populates the model

beginInsertColumns()
beginInsertItems(self, parent: QgsDataItem, first: int, last: int)
beginInsertRows()
beginMoveColumns()
beginMoveRows()
beginRemoveColumns()
beginRemoveItems(self, parent: QgsDataItem, first: int, last: int)
beginRemoveRows()
beginResetModel()
canFetchMore(self, parent: QModelIndex) → bool
changePersistentIndex()
changePersistentIndexList()
childEvent()
columnCount(self, parent: QModelIndex = QModelIndex()) → int
connectItem(self, item: QgsDataItem)
connectNotify()
connectionsChanged

Connections changed in the browser, forwarded to the widget and used to notify the provider dialogs of a changed connection [signal]

createIndex()
customEvent()
data(self, index: QModelIndex, role: int = Qt.DisplayRole) → Any
dataItem(self, idx: QModelIndex) → QgsDataItem
decodeData()
disconnectNotify()
dropMimeData(self, data: QMimeData, action: Qt.DropAction, row: int, column: int, parent: QModelIndex) → bool
encodeData()
endInsertColumns()
endInsertItems(self)
endInsertRows()
endMoveColumns()
endMoveRows()
endRemoveColumns()
endRemoveItems(self)
endRemoveRows()
endResetModel()
fetchMore(self, parent: QModelIndex)
findItem(self, item: QgsDataItem, parent: QgsDataItem = None) → QModelIndex
findPath(self, path: str, matchFlag: Qt.MatchFlag = Qt.MatchExactly) → QModelIndex

Returns index of item with given path. It only searches in currently fetched items, i.e. it does not fetch children.

Parameters:
  • path – item path
  • matchFlag – supported is Qt.MatchExactly and Qt.MatchStartsWith which has reverse meaning, i.e. find item with the longest match from start with path (to get as close/deep as possible to deleted item).
Returns:

model index, invalid if item not found *

flags(self, index: QModelIndex) → Qt.ItemFlags
hasChildren(self, parent: QModelIndex = QModelIndex()) → bool
headerData(self, section: int, orientation: Qt.Orientation, role: int = Qt.DisplayRole) → Any
hidePath(self, item: QgsDataItem)

Hide the given path in the browser model

index(self, row: int, column: int, parent: QModelIndex = QModelIndex()) → QModelIndex
initialize(self)

Delayed initialization, needed because the provider registry must be already populated.

See also

initialized()

initialized(self) → bool

Returns true if the model has been initialized.

See also

initialize()

isSignalConnected()
itemDataChanged(self, item: QgsDataItem)
itemStateChanged(self, item: QgsDataItem, oldState: QgsDataItem.State)
mimeData(self, indexes: object) → QMimeData
mimeTypes(self) → List[str]
parent(self, index: QModelIndex) → QModelIndex
persistentIndexList()
receivers()
refresh(self, path: str)

Refresh item specified by path

refresh(self, index: QModelIndex = QModelIndex()) Refresh item children

reload(self)

Reload the whole model

removeFavorite(self, index: QModelIndex)

Removes a favorite directory from its corresponding model index.

New in version 3.0.

removeRootItems(self)
resetInternalData()
rowCount(self, parent: QModelIndex = QModelIndex()) → int
sender()
senderSignalIndex()
stateChanged

Emitted when item children fetch was finished [signal]

timerEvent()
updateProjectHome(self)