Class: QgsBrowserModel¶
- class qgis.core.QgsBrowserModel¶
Bases:
PyQt5.QtCore.QAbstractItemModel
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 aQgsBrowserModel
, a call must be made toinitialize()
in order to populate the model.Note
Since QGIS 3.10 it is recommended to use
QgsBrowserGuiModel
from GUI library. Implementation of data items used fromQgsBrowserModel
should not trigger any GUI operations such as opening of widgets/dialogs or showing message boxes. Such actions should be implemented in a newQgsDataItemGuiProvider
subclass which is used byQgsBrowserGuiModel
(but not byQgsBrowserModel
).QgsBrowserModel(parent: QObject = None) Constructor for
QgsBrowserModel
, with the specifiedparent
object.Note
QgsBrowserModel
models are not initially populated and use a deferred initialization approach. After constructing aQgsBrowserModel
, a call must be made toinitialize()
in order to populate the model.Methods
Adds a
directory
to the favorites group.Populates the model
beginInsertColumns
- param parent
beginInsertRows
beginMoveColumns
beginMoveRows
beginRemoveColumns
- param parent
beginRemoveRows
- param parent
changePersistentIndex
- param parent
createIndex
- param index
Returns the data item at the specified index, or
None
if no item exists at the index.decodeData
Returns a map of the root drive items shown in the browser.
- param data
- param parent
Returns the model index corresponding to the specified data
item
.Returns index of item with given path.
Returns index of layer item with given uri.
- param index
- param parent
- param section
Hide the given path in the browser model
- param row
Delayed initialization, needed because the provider registry must be already populated.
Returns
True
if the model has been initialized.- param item
Emitted when an
item
's state is changed.- param indexes
- rtype
List[str]
- param index
Refresh item specified by path
Refreshes the list of drive items, removing any corresponding to removed drives and adding newly added drives.
Reload the whole model
Removes a favorite directory from its corresponding model index.
- param parent
- param index
Signals
Emitted when connections for the specified
providerKey
have changed in the browser.Emitted when item children fetch was finished [signal]
Attributes
- CommentRole = 257¶
- class ItemDataRole¶
Bases:
int
- PathRole = 256¶
- ProviderKeyRole = 259¶
- 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 matchdirectory
.See also
New in version 3.0.
- Parameters
directory (str) –
name (str = '') –
- addRootItems(self)¶
Populates the model
- QgsBrowserModel.beginInsertColumns(self, QModelIndex, int, int)
- beginInsertItems(self, parent: QgsDataItem, first: int, last: int)¶
- Parameters
parent (QgsDataItem) –
first (int) –
last (int) –
- QgsBrowserModel.beginInsertRows(self, QModelIndex, int, int)
- QgsBrowserModel.beginMoveColumns(self, QModelIndex, int, int, QModelIndex, int) -> bool
- QgsBrowserModel.beginMoveRows(self, QModelIndex, int, int, QModelIndex, int) -> bool
- QgsBrowserModel.beginRemoveColumns(self, QModelIndex, int, int)
- beginRemoveItems(self, parent: QgsDataItem, first: int, last: int)¶
- Parameters
parent (QgsDataItem) –
first (int) –
last (int) –
- QgsBrowserModel.beginRemoveRows(self, QModelIndex, int, int)
- beginResetModel(self)¶
- canFetchMore(self, parent: QModelIndex) bool ¶
- Parameters
parent (QModelIndex) –
- Return type
bool
- QgsBrowserModel.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
- connectItem(self, item: QgsDataItem)¶
Deprecated since version Deprecated: since QGIS 3.4 – this method has no effect, and is dangerous to call in earlier QGIS versions. Any usage should be removed (and will have no harmful side-effects!).
- Parameters
item (QgsDataItem) –
- connectNotify(self, QMetaMethod)¶
- connectionsChanged¶
Emitted when connections for the specified
providerKey
have changed in the browser.Forwarded to the widget and used to notify the provider dialogs of a changed connection. [signal]
- Parameters
providerKey (str) –
- QgsBrowserModel.createIndex(self, int, int, object: object = 0) -> QModelIndex
- customEvent(self, QEvent)¶
- data(self, index: QModelIndex, role: int = Qt.DisplayRole) Any ¶
- Parameters
index (QModelIndex) –
role (int = Qt.DisplayRole) –
- Return type
Any
- dataItem(self, idx: QModelIndex) QgsDataItem ¶
Returns the data item at the specified index, or
None
if no item exists at the index.- Parameters
idx (QModelIndex) –
- Return type
- QgsBrowserModel.decodeData(self, int, int, QModelIndex, QDataStream) -> bool
- disconnectNotify(self, QMetaMethod)¶
- driveItems(self) object ¶
Returns a map of the root drive items shown in the browser.
These correspond to the top-level directory items shown, e.g. on Windows the C:, D:, etc, and on Linux the “/” root directory.
New in version 3.6.
- Return type
object
- dropMimeData(self, data: QMimeData, action: Qt.DropAction, row: int, column: int, parent: QModelIndex) bool ¶
- Parameters
data (QMimeData) –
action (Qt.DropAction) –
row (int) –
column (int) –
parent (QModelIndex) –
- Return type
bool
- encodeData(self, Iterable[QModelIndex], QDataStream)¶
- endInsertColumns(self)¶
- endInsertItems(self)¶
- endInsertRows(self)¶
- endMoveColumns(self)¶
- endMoveRows(self)¶
- endRemoveColumns(self)¶
- endRemoveItems(self)¶
- endRemoveRows(self)¶
- endResetModel(self)¶
- fetchMore(self, parent: QModelIndex)¶
- Parameters
parent (QModelIndex) –
- findItem(self, item: QgsDataItem, parent: QgsDataItem = None) QModelIndex ¶
Returns the model index corresponding to the specified data
item
. If the item was not found, an invalid QModelIndex is returned.If the
parent
item is argument is specified, then only items which are children ofparent
are searched. If noparent
is specified, then all items within the model are searched.- Parameters
item (QgsDataItem) –
parent (
QgsDataItem
= None) –
- Return type
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 (str) – item path
matchFlag (Qt.MatchFlag = Qt.MatchExactly) – 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).
- Return type
QModelIndex
- Returns
model index, invalid if item not found
- findUri(self, uri: str, index: QModelIndex = QModelIndex()) QModelIndex ¶
Returns index of layer item with given uri. It only searches in currently fetched items, i.e. it does not fetch children.
- Parameters
uri (str) – item uri
index (QModelIndex = QModelIndex()) – the current index of the parent (to search for children)
- Return type
QModelIndex
- Returns
model index, invalid if item not found
New in version 3.6.
- flags(self, index: QModelIndex) Qt.ItemFlags ¶
- Parameters
index (QModelIndex) –
- Return type
Qt.ItemFlags
- hasChildren(self, parent: QModelIndex = QModelIndex()) bool ¶
- Parameters
parent (QModelIndex = QModelIndex()) –
- Return type
bool
- 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
- hidePath(self, item: QgsDataItem)¶
Hide the given path in the browser model
- Parameters
item (QgsDataItem) –
- index(self, row: int, column: int, parent: QModelIndex = QModelIndex()) QModelIndex ¶
- Parameters
row (int) –
column (int) –
parent (QModelIndex = QModelIndex()) –
- Return type
QModelIndex
- initialize(self)¶
Delayed initialization, needed because the provider registry must be already populated.
See also
- initialized(self) bool ¶
Returns
True
if the model has been initialized.See also
- Return type
bool
- isSignalConnected(self, QMetaMethod) bool ¶
- itemDataChanged(self, item: QgsDataItem)¶
- Parameters
item (QgsDataItem) –
- itemStateChanged(self, item: QgsDataItem, oldState: Qgis.BrowserItemState)¶
Emitted when an
item
’s state is changed.- Parameters
item (QgsDataItem) –
oldState (Qgis.BrowserItemState) –
- mimeData(self, indexes: Iterable[QModelIndex]) QMimeData ¶
- Parameters
indexes (Iterable[QModelIndex]) –
- Return type
QMimeData
- mimeTypes(self) List[str] ¶
- Return type
List[str]
- parent(self, index: QModelIndex) QModelIndex ¶
- Parameters
index (QModelIndex) –
- Return type
QModelIndex
- persistentIndexList(self) List[QModelIndex] ¶
- receivers(self, PYQT_SIGNAL) int ¶
- refresh(self, path: str)¶
Refresh item specified by path
refresh(self, index: QModelIndex = QModelIndex()) Refresh item children
- Parameters
path (str) –
- refreshDrives(self)¶
Refreshes the list of drive items, removing any corresponding to removed drives and adding newly added drives.
New in version 3.4.
- reload(self)¶
Reload the whole model
- removeFavorite(self, index: QModelIndex)¶
Removes a favorite directory from its corresponding model index.
See also
New in version 3.0.
- Parameters
index (QModelIndex) –
- removeRootItems(self)¶
- resetInternalData(self)¶
- rowCount(self, parent: QModelIndex = QModelIndex()) int ¶
- Parameters
parent (QModelIndex = QModelIndex()) –
- Return type
int
- sender(self) QObject ¶
- senderSignalIndex(self) int ¶
- setData(self, index: QModelIndex, value: Any, role: int = Qt.EditRole) bool ¶
- Parameters
index (QModelIndex) –
value (Any) –
role (int = Qt.EditRole) –
- Return type
bool
- stateChanged¶
Emitted when item children fetch was finished [signal]
- Parameters
index (QModelIndex) –
oldState (Qgis.BrowserItemState) –
- timerEvent(self, QTimerEvent)¶
- updateProjectHome(self)¶