Class: QgsVectorLayerExporterTask

class qgis.core.QgsVectorLayerExporterTask

Bases: QgsTask

QgsTask task which performs a QgsVectorLayerExporter layer export operation as a background task. This can be used to export a vector layer out to a provider without blocking the QGIS interface.

New in version 3.0.

QgsVectorLayerExporterTask(layer: QgsVectorLayer, uri: str, providerKey: str, destinationCrs: QgsCoordinateReferenceSystem, options: Dict[str, Any] = {}, ownsLayer: bool = False) Constructor for QgsVectorLayerExporterTask. Takes a source layer, destination uri and providerKey, and various export related parameters such as destination CRS and export options. ownsLayer has to be set to True if the task should take ownership of the layer and delete it after export.

Methods

cancel

childEvent

connectNotify

customEvent

disconnectNotify

finished

param result:

isCanceled

Will return True if task should terminate ASAP.

isSignalConnected

receivers

run

rtype:

bool

sender

senderSignalIndex

setProgress

Sets the task's current progress.

timerEvent

withLayerOwnership

Creates a new QgsVectorLayerExporterTask which has ownership over a source layer.

Signals

errorOccurred

pyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL

exportComplete

pyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL

cancel(self)
childEvent(self, QChildEvent)
connectNotify(self, QMetaMethod)
customEvent(self, QEvent)
disconnectNotify(self, QMetaMethod)
errorOccurred

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Parameters:
  • name (str = ...) –

  • revision (int = ...) –

  • arguments (Sequence = ...) –

Return type:

PYQT_SIGNAL

exportComplete

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Parameters:
  • name (str = ...) –

  • revision (int = ...) –

  • arguments (Sequence = ...) –

Return type:

PYQT_SIGNAL

finished(self, result: bool)
Parameters:

result (bool) –

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
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)
withLayerOwnership(layer: QgsVectorLayer, uri: str, providerKey: str, destinationCrs: QgsCoordinateReferenceSystem, options: Dict[str, Any] = {}) QgsVectorLayerExporterTask

Creates a new QgsVectorLayerExporterTask which has ownership over a source layer. When the export task has completed (successfully or otherwise) layer will be deleted. The destination uri and providerKey, and various export related parameters such as destination CRS and export options must be specified.

Parameters:
Return type:

QgsVectorLayerExporterTask