Class: QgsVectorFileWriterTask

class qgis.core.QgsVectorFileWriterTask(layer: QgsVectorLayer, fileName: str, options: QgsVectorFileWriter.SaveVectorOptions)

Bases: QgsTask

Constructor for QgsVectorFileWriterTask. Takes a source layer, destination fileName and save options.

QgsTask task which performs a QgsVectorFileWriter layer saving operation as a background task. This can be used to save a vector layer out to a file without blocking the QGIS interface.

New in version 3.0.

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

Emitted when an error occurs which prevented the file being written (or if the task is canceled). The writing error and errorMessage will be reported. [signal]

  • error (int) –

  • errorMessage (str) –

finished(self, result: bool)

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


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.


progress – percent of progress, from 0.0 - 100.0

timerEvent(self, QTimerEvent)

Emitted when writing the layer is successfully completed. The newFilename parameter indicates the file path for the written file.


this signal is deprecated in favor of completed(). [signal]


newFilename (str) –