Class: QgsSnappingConfig

Stores configuration of snapping settings for the project.

Enums

SnappingMode

SnappingMode defines on which layer the snapping is performed

SnappingTypes

alias of SnappingType

Methods

addLayers

Adds the specified layers as individual layers to the configuration with standard configuration.

clearIndividualLayerSettings

Removes all individual layer snapping settings

enabled

Returns if snapping is enabled

individualLayerSettings

Returns individual snapping settings for all layers

intersectionSnapping

Returns if the snapping on intersection is enabled

maximumScale

Returns the max scale (i.e. most "zoomed in" scale).

minimumScale

Returns the min scale (i.e. most "zoomed out" scale).

mode

Returns the mode (all layers, active layer, per layer settings)

project

The project from which the snapped layers should be retrieved

readProject

Reads the configuration from the specified QGIS project document.

removeLayers

Removes the specified layers from the individual layer configuration.

reset

reset to default values

scaleDependencyMode

Returns the scale dependency mode

selfSnapping

Returns if self snapping (snapping to the currently digitized feature) is enabled

setEnabled

enables the snapping

setIndividualLayerSettings

Sets individual layer snappings settings (applied if mode is AdvancedConfiguration)

setIntersectionSnapping

Sets if the snapping on intersection is enabled

setMaximumScale

Set the max scale on which snapping is enabled, 0.0 disable scale limit

setMinimumScale

Sets the min scale on which snapping is enabled, 0.0 disable scale limit

setMode

define the mode of snapping

setProject

The project from which the snapped layers should be retrieved

setScaleDependencyMode

Set the scale dependency mode

setSelfSnapping

Sets if self snapping (snapping to the currently digitized feature) is enabled

setTolerance

Sets the tolerance

setType

define the type of snapping

setTypeFlag

define the type of snapping

setUnits

Sets the type of units

tolerance

Returns the tolerance

type

Returns the flags type (vertices | segments | area | centroid | middle)

typeFlag

Returns the flags type (vertices | segments | area | centroid | middle)

units

Returns the type of units

writeProject

Writes the configuration to the specified QGIS project document.

Static Methods

snappingTypeFlagToIcon

Convenient method to return an icon corresponding to the enum type Qgis.SnappingTypes.

snappingTypeFlagToString

Convenient method to return the translated name of the enum type Qgis.SnappingTypes.

snappingTypeToIcon

Convenient method to return an icon corresponding to the enum type Qgis.SnappingTypes.

snappingTypeToString

Convenient method to returns the translated name of the enum type Qgis.SnappingTypes.

Attributes

Disabled

Global

PerLayer

Segment

Vertex

VertexAndSegment

class qgis.core.QgsSnappingConfig[source]

Bases: object

__init__(project: QgsProject | None = None)

Constructor with default parameters defined in global settings

Parameters:

project (Optional[QgsProject] = None)

__init__(a0: QgsSnappingConfig)
Parameters:

a0 (QgsSnappingConfig)

Disabled = 0
Global = 1
class IndividualLayerSettings[source]

Bases: object

A container of advanced configuration (per layer) of the snapping of the project.

QgsSnappingConfig.IndividualLayerSettings(enabled: bool, type: QgsSnappingConfig.SnappingType, tolerance: float, units: Qgis.MapToolUnit) IndividualLayerSettings

Parameters:
  • enabled

  • type

  • tolerance

  • units

Deprecated since version 3.12: Use the method with Qgis.SnappingTypes instead.

QgsSnappingConfig.IndividualLayerSettings(enabled: bool, type: Union[Qgis.SnappingTypes, Qgis.SnappingType], tolerance: float, units: Qgis.MapToolUnit, minScale: float = 0, maxScale: float = 0) IndividualLayerSettings

Parameters:
  • enabled

  • type

  • tolerance

  • units

  • minScale – 0.0 disable scale limit

  • maxScale – 0.0 disable scale limit

Added in version 3.12.

QgsSnappingConfig.IndividualLayerSettings() Constructs an invalid setting

QgsSnappingConfig.IndividualLayerSettings(a0: QgsSnappingConfig.IndividualLayerSettings)

enabled(self) bool[source]

Returns if snapping is enabled

Return type:

bool

maximumScale(self) float[source]

Returns max scale on which snapping is limited

Added in version 3.14.

Return type:

float

minimumScale(self) float[source]

Returns minimum scale on which snapping is limited

Added in version 3.14.

Return type:

float

setEnabled(self, enabled: bool)[source]

enables the snapping

Parameters:

enabled (bool)

setMaximumScale(self, maxScale: float)[source]

Sets the max scale value on which snapping is used, 0.0 disable scale limit

Added in version 3.14.

Parameters:

maxScale (float)

setMinimumScale(self, minScale: float)[source]

Sets the min scale value on which snapping is used, 0.0 disable scale limit

Added in version 3.14.

Parameters:

minScale (float)

setTolerance(self, tolerance: float)[source]

Sets the tolerance

Parameters:

tolerance (float)

setType(self, type: QgsSnappingConfig.SnappingType)[source]

define the type of snapping

Deprecated since version 3.12: Use setTypeFlag() instead.

Parameters:

type (QgsSnappingConfig.SnappingType)

setTypeFlag(self, type: Qgis.SnappingTypes | Qgis.SnappingType)[source]

define the type of snapping

Added in version 3.12.

Parameters:

type (Union[Qgis.SnappingTypes, Qgis.SnappingType])

setUnits(self, units: Qgis.MapToolUnit)[source]

Sets the type of units

Parameters:

units (Qgis.MapToolUnit)

tolerance(self) float[source]

Returns the tolerance

Return type:

float

type(self) QgsSnappingConfig.SnappingType[source]

Returns the flags type (vertices | segments | area | centroid | middle)

Deprecated since version 3.12: Use typeFlag() instead.

Return type:

QgsSnappingConfig.SnappingType

typeFlag(self) Qgis.SnappingTypes[source]

Returns the flags type (vertices | segments | area | centroid | middle)

Added in version 3.12.

Return type:

Qgis.SnappingTypes

units(self) Qgis.MapToolUnit[source]

Returns the type of units

Return type:

Qgis.MapToolUnit

valid(self) bool[source]

Returns if settings are valid

Return type:

bool

PerLayer = 2
class ScaleDependencyMode

Bases: int

Segment = 3
class SnappingMode(*values)

Bases: IntEnum

SnappingMode defines on which layer the snapping is performed

Added in version 3.26.

  • ActiveLayer: On the active layer

  • AllLayers: On all vector layers

  • AdvancedConfiguration: On a per layer configuration basis

class SnappingType

Bases: int

SnappingTypeFlag

alias of SnappingTypes

SnappingTypes

alias of SnappingType

Vertex = 1
VertexAndSegment = 2
addLayers(self, layers: Iterable[QgsMapLayer]) bool[source]

Adds the specified layers as individual layers to the configuration with standard configuration. When implementing a long-living QgsSnappingConfig (like the one in QgsProject) it is best to directly feed this with information from the layer registry.

Return type:

bool

Returns:

True if changes have been done.

Parameters:

layers (Iterable[QgsMapLayer])

clearIndividualLayerSettings(self)[source]

Removes all individual layer snapping settings

Added in version 3.16.

enabled(self) bool[source]

Returns if snapping is enabled

Return type:

bool

individualLayerSettings(self) Dict[source]

Returns individual snapping settings for all layers

Return type:

Dict

individualLayerSettings(self, vl: QgsVectorLayer | None) QgsSnappingConfig.IndividualLayerSettings[source]

Returns individual layer snappings settings (applied if mode is AdvancedConfiguration)

Parameters:

vl (Optional[QgsVectorLayer])

Return type:

QgsSnappingConfig.IndividualLayerSettings

intersectionSnapping(self) bool[source]

Returns if the snapping on intersection is enabled

Return type:

bool

maximumScale(self) float[source]

Returns the max scale (i.e. most "zoomed in" scale)

Added in version 3.14.

Return type:

float

minimumScale(self) float[source]

Returns the min scale (i.e. most "zoomed out" scale)

Added in version 3.14.

Return type:

float

mode(self) Qgis.SnappingMode[source]

Returns the mode (all layers, active layer, per layer settings)

Return type:

Qgis.SnappingMode

project(self) QgsProject | None[source]

The project from which the snapped layers should be retrieved

Return type:

Optional[QgsProject]

readProject(self, doc: QDomDocument)[source]

Reads the configuration from the specified QGIS project document.

Parameters:

doc (QDomDocument)

removeLayers(self, layers: Iterable[QgsMapLayer]) bool[source]

Removes the specified layers from the individual layer configuration. When implementing a long-living QgsSnappingConfig (like the one in QgsProject) it is best to directly feed this with information from the layer registry.

Return type:

bool

Returns:

True if changes have been done.

Parameters:

layers (Iterable[QgsMapLayer])

reset(self)[source]

reset to default values

scaleDependencyMode(self) QgsSnappingConfig.ScaleDependencyMode[source]

Returns the scale dependency mode

Added in version 3.14.

Return type:

QgsSnappingConfig.ScaleDependencyMode

selfSnapping(self) bool[source]

Returns if self snapping (snapping to the currently digitized feature) is enabled

Added in version 3.14.

Return type:

bool

setEnabled(self, enabled: bool)[source]

enables the snapping

Parameters:

enabled (bool)

setIndividualLayerSettings(self, vl: QgsVectorLayer | None, individualLayerSettings: QgsSnappingConfig.IndividualLayerSettings)[source]

Sets individual layer snappings settings (applied if mode is AdvancedConfiguration)

Parameters:
setIntersectionSnapping(self, enabled: bool)[source]

Sets if the snapping on intersection is enabled

Parameters:

enabled (bool)

setMaximumScale(self, maxScale: float)[source]

Set the max scale on which snapping is enabled, 0.0 disable scale limit

Added in version 3.14.

Parameters:

maxScale (float)

setMinimumScale(self, minScale: float)[source]

Sets the min scale on which snapping is enabled, 0.0 disable scale limit

Added in version 3.14.

Parameters:

minScale (float)

setMode(self, mode: Qgis.SnappingMode)[source]

define the mode of snapping

Parameters:

mode (Qgis.SnappingMode)

setProject(self, project: QgsProject | None)[source]

The project from which the snapped layers should be retrieved

Parameters:

project (Optional[QgsProject])

setScaleDependencyMode(self, mode: QgsSnappingConfig.ScaleDependencyMode)[source]

Set the scale dependency mode

Added in version 3.14.

Parameters:

mode (QgsSnappingConfig.ScaleDependencyMode)

setSelfSnapping(self, enabled: bool)[source]

Sets if self snapping (snapping to the currently digitized feature) is enabled

Added in version 3.14.

Parameters:

enabled (bool)

setTolerance(self, tolerance: float)[source]

Sets the tolerance

Parameters:

tolerance (float)

setType(self, type: QgsSnappingConfig.SnappingType)[source]

define the type of snapping

Deprecated since version 3.12: Use setTypeFlag() instead.

Parameters:

type (QgsSnappingConfig.SnappingType)

setTypeFlag(self, type: Qgis.SnappingTypes | Qgis.SnappingType)[source]

define the type of snapping

Added in version 3.12.

Parameters:

type (Union[Qgis.SnappingTypes, Qgis.SnappingType])

setUnits(self, units: Qgis.MapToolUnit)[source]

Sets the type of units

Parameters:

units (Qgis.MapToolUnit)

static snappingTypeFlagToIcon(type: Qgis.SnappingType) QIcon[source]

Convenient method to return an icon corresponding to the enum type Qgis.SnappingTypes.

Deprecated since version 3.26: Use snappingTypeToIcon() instead.

Added in version 3.20.

Parameters:

type (Qgis.SnappingType)

Return type:

QIcon

static snappingTypeFlagToString(type: Qgis.SnappingType) str[source]

Convenient method to return the translated name of the enum type Qgis.SnappingTypes.

Added in version 3.12.

Deprecated since version 3.26: Use snappingTypeToString() instead.

Parameters:

type (Qgis.SnappingType)

Return type:

str

static snappingTypeToIcon(type: Qgis.SnappingType) QIcon[source]

Convenient method to return an icon corresponding to the enum type Qgis.SnappingTypes.

Added in version 3.20.

Parameters:

type (Qgis.SnappingType)

Return type:

QIcon

static snappingTypeToString(type: Qgis.SnappingType) str[source]

Convenient method to returns the translated name of the enum type Qgis.SnappingTypes.

Added in version 3.26.

Parameters:

type (Qgis.SnappingType)

Return type:

str

tolerance(self) float[source]

Returns the tolerance

Return type:

float

type(self) QgsSnappingConfig.SnappingType[source]

Returns the flags type (vertices | segments | area | centroid | middle)

Deprecated since version 3.12: Use typeFlag() instead.

Return type:

QgsSnappingConfig.SnappingType

typeFlag(self) Qgis.SnappingTypes[source]

Returns the flags type (vertices | segments | area | centroid | middle)

Added in version 3.12.

Return type:

Qgis.SnappingTypes

units(self) Qgis.MapToolUnit[source]

Returns the type of units

Return type:

Qgis.MapToolUnit

writeProject(self, doc: QDomDocument)[source]

Writes the configuration to the specified QGIS project document.

Parameters:

doc (QDomDocument)