Class: QgsProviderSublayerTask¶
- class qgis.core.QgsProviderSublayerTask¶
Bases:
QgsTask
A
QgsTask
which retrieves sublayer details for a URI.This task executes a call to
QgsProviderRegistry.querySublayers()
in a background thread. Depending on the URI queried it can be expensive to calculate the sublayers (e.g. in the case where a full table scan is required to resolve mixed geometry type layers), so it is beneficial to perform these queries in the background wherever possible.While
QgsProviderRegistry.querySublayers()
offers various flags to control how in-depth the querying will be, these flags are not exposed throughQgsProviderSublayerTask
. RatherQgsProviderSublayerTask
will always execute the most thorough query possible, regardless of how expensive this may be.New in version 3.22.
QgsProviderSublayerTask(uri: str, includeSystemTables: bool = False) Constructor for
QgsProviderSublayerTask
, which retrieves sublayer details for the specifieduri
.Methods
If the task is managed by a
QgsTaskManager
, this will be called after the task has finished (whether through successful completion or via early termination).Will return
True
if task should terminate ASAP.Returns the sublayer details as calculated by the task.
- rtype
bool
Sets the task's current progress.
- cancel(self)¶
- childEvent(self, QChildEvent)¶
- connectNotify(self, QMetaMethod)¶
- customEvent(self, QEvent)¶
- disconnectNotify(self, QMetaMethod)¶
- finished(self, result: bool)¶
If the task is managed by a
QgsTaskManager
, this will be called after the task has finished (whether through successful completion or via early termination). The result argument reflects whether the task was successfully completed or not. This method is always called from the main thread, so it is safe to create widgets and perform other operations which require the main thread. However, the GUI will be blocked for the duration of this method so tasks should avoid performing any lengthy operations here.
- isCanceled(self) bool ¶
Will return
True
if task should terminate ASAP. If the task reports the CanCancel flag, then derived classes’run()
methods should periodically check this and terminate in a safe manner.
- isSignalConnected(self, QMetaMethod) bool ¶
- receivers(self, PYQT_SIGNAL) int ¶
- results(self) List[QgsProviderSublayerDetails] ¶
Returns the sublayer details as calculated by the task.
- Return type
- run(self) bool ¶
- Return type
bool
- sender(self) QObject ¶
- senderSignalIndex(self) int ¶
- setProgress(self, progress: float)¶
Sets the task’s current progress. The derived class should call this method whenever the task wants to update its progress. Calling will automatically emit the progressChanged signal.
- Parameters
progress – percent of progress, from 0.0 - 100.0
- timerEvent(self, QTimerEvent)¶