Class: QgsOfflineEditing

Handles logic relating to synchronizing online and offline copies of layer data.

Class Hierarchy

Inheritance diagram of qgis.core.QgsOfflineEditing

Base classes

QObject

Methods

convertToOfflineProject

Convert current project for offline editing

isOfflineProject

Returns True if current project is offline

synchronize

Synchronize to remote layers

Signals

layerProgressUpdated

Emitted whenever a new layer is being processed.

progressModeSet

Emitted when the mode for the progress of the current operation is set.

progressStarted

Emitted when the process has started.

progressStopped

Emitted when the processing of all layers has finished

progressUpdated

Emitted with the progress of the current mode

warning

Emitted when a warning needs to be displayed.

Attributes

AddFeatures

AddFields

CopyFeatures

GPKG

ProcessFeatures

RemoveFeatures

SpatiaLite

UpdateFeatures

UpdateGeometries

class qgis.core.QgsOfflineEditing[source]

Bases: QObject

AddFeatures = 3
AddFields = 2
class ContainerType

Bases: int

CopyFeatures = 0
GPKG = 1
ProcessFeatures = 1
class ProgressMode

Bases: int

RemoveFeatures = 4
SpatiaLite = 0
UpdateFeatures = 5
UpdateGeometries = 6
convertToOfflineProject(self, offlineDataPath: str | None, offlineDbFile: str | None, layerIds: Iterable[str | None], onlySelected: bool = False, containerType: QgsOfflineEditing.ContainerType = QgsOfflineEditing.SpatiaLite, layerNameSuffix: str | None = '') bool[source]

Convert current project for offline editing

Parameters:
  • offlineDataPath (Optional[str]) – Path to offline db file

  • offlineDbFile (Optional[str]) – Offline db file name

  • layerIds (Iterable[Optional[str]]) – List of layer names to convert

  • onlySelected (bool = False) – Only copy selected features from layers where a selection is present

  • containerType (QgsOfflineEditing.ContainerType = QgsOfflineEditing.SpatiaLite) – defines the SQLite file container type like SpatiaLite or GPKG

  • layerNameSuffix (Optional[str] = '') – Suffix string added to the offline layer name

Return type:

bool

isOfflineProject(self) bool[source]

Returns True if current project is offline

Return type:

bool

signal layerProgressUpdated(layer: int, numLayers: int)[source]

Emitted whenever a new layer is being processed. It is possible to estimate the progress of the complete operation by comparing the index of the current layer to the total amount numLayers.

Parameters:
  • layer (int)

  • numLayers (int)

signal progressModeSet(mode: QgsOfflineEditing.ProgressMode, maximum: int)[source]

Emitted when the mode for the progress of the current operation is set.

Parameters:
signal progressStarted[source]

Emitted when the process has started.

signal progressStopped[source]

Emitted when the processing of all layers has finished

signal progressUpdated(progress: int)[source]

Emitted with the progress of the current mode

Parameters:

progress (int) – current index of processed entities

synchronize(self, useTransaction: bool = False)[source]

Synchronize to remote layers

Parameters:

useTransaction (bool = False) – enforce the remote layer modifications with the same source to be in a transaction group

signal warning(title: str, message: str)[source]

Emitted when a warning needs to be displayed.

Parameters:
  • title (str) – title string for message

  • message (str) – A descriptive message for the warning