Class: QgsSnappingConfig

class qgis.core.QgsSnappingConfig(project: QgsProject = None)

Bases: sip.wrapper

Constructor with default parameters defined in global settings

QgsSnappingConfig(QgsSnappingConfig)

This is a container for configuration of the snapping of the project

New in version 3.0.

Parameters

project

ActiveLayer = 1
AdvancedConfiguration = 3
AllLayers = 2
AreaFlag = 4
CentroidFlag = 8
Disabled = 0
Global = 1
class IndividualLayerSettings(enabled: bool, type: QgsSnappingConfig.SnappingType, tolerance: float, units: QgsTolerance.UnitType)

Bases: sip.wrapper

IndividualLayerSettings

Parameters

Deprecated since version QGIS: 3.12 use the method with SnappingTypeFlag instead.

QgsSnappingConfig.IndividualLayerSettings(enabled: bool, type: Union[QgsSnappingConfig.SnappingTypeFlag, QgsSnappingConfig.SnappingTypes], tolerance: float, units: QgsTolerance.UnitType, minScale: float = 0, maxScale: float = 0) IndividualLayerSettings

Parameters
  • enabled

  • type

  • tolerance

  • units

  • minScale – 0.0 disable scale limit

  • maxScale – 0.0 disable scale limit

New in version 3.12.

QgsSnappingConfig.IndividualLayerSettings() Constructs an invalid setting

QgsSnappingConfig.IndividualLayerSettings(QgsSnappingConfig.IndividualLayerSettings)

This is a container of advanced configuration (per layer) of the snapping of the project

New in version 3.0.

enabled(self) → bool

Returns if snapping is enabled

Return type

bool

maximumScale(self) → float

Returns max scale on which snapping is limited

New in version 3.14.

Return type

float

minimumScale(self) → float

Returns minimum scale on which snapping is limited

New in version 3.14.

Return type

float

setEnabled(self, enabled: bool)

enables the snapping

Parameters

enabled (bool) –

setMaximumScale(self, maxScale: float)

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

New in version 3.14.

Parameters

maxScale (float) –

setMinimumScale(self, minScale: float)

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

New in version 3.14.

Parameters

minScale (float) –

setTolerance(self, tolerance: float)

Sets the tolerance

Parameters

tolerance (float) –

setType(self, type: QgsSnappingConfig.SnappingType)

define the type of snapping

Deprecated since version QGIS: 3.12 use setTypeFlag instead.

Parameters

type (QgsSnappingConfig.SnappingType) –

setTypeFlag(self, type: Union[QgsSnappingConfig.SnappingTypeFlag, QgsSnappingConfig.SnappingTypes])

define the type of snapping

New in version 3.12.

Parameters

type (Union[QgsSnappingConfig.SnappingTypeFlag) –

setUnits(self, units: QgsTolerance.UnitType)

Sets the type of units

Parameters

units (QgsTolerance.UnitType) –

tolerance(self) → float

Returns the tolerance

Return type

float

type(self)QgsSnappingConfig.SnappingType

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

Deprecated since version QGIS: 3.12 use typeFlag instead.

Return type

QgsSnappingConfig.SnappingType

typeFlag(self)QgsSnappingConfig.SnappingTypeFlag

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

New in version 3.12.

Return type

QgsSnappingConfig.SnappingTypeFlag

units(self)QgsTolerance.UnitType

Returns the type of units

Return type

QgsTolerance.UnitType

valid(self) → bool

Returns if settings are valid

Return type

bool

MiddleOfSegmentFlag = 16
NoSnapFlag = 0
PerLayer = 2
class ScaleDependencyMode

Bases: int

baseClass

alias of QgsSnappingConfig

Segment = 3
SegmentFlag = 2
class SnappingMode

Bases: int

baseClass

alias of QgsSnappingConfig

class SnappingType

Bases: int

class SnappingTypeFlag

Bases: sip.wrapper

QgsSnappingConfig.SnappingTypeFlag(Union[QgsSnappingConfig.SnappingTypeFlag, QgsSnappingConfig.SnappingTypes]) QgsSnappingConfig.SnappingTypeFlag(QgsSnappingConfig.SnappingTypeFlag)

baseClass

alias of QgsSnappingConfig

class SnappingTypes

Bases: int

baseClass

alias of QgsSnappingConfig

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

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.

New in version 3.0.

Parameters

layers (Iterable[QgsMapLayer]) –

clearIndividualLayerSettings(self)

Removes all individual layer snapping settings

New in version 3.16.

enabled(self) → bool

Returns if snapping is enabled

Return type

bool

individualLayerSettings(self) → Dict

Returns individual snapping settings for all layers

individualLayerSettings(self, vl: QgsVectorLayer) -> QgsSnappingConfig.IndividualLayerSettings Returns individual layer snappings settings (applied if mode is AdvancedConfiguration)

Return type

Dict

intersectionSnapping(self) → bool

Returns if the snapping on intersection is enabled

Return type

bool

maximumScale(self) → float

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

New in version 3.14.

Return type

float

minimumScale(self) → float

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

New in version 3.14.

Return type

float

mode(self)QgsSnappingConfig.SnappingMode

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

Return type

QgsSnappingConfig.SnappingMode

project(self)QgsProject

The project from which the snapped layers should be retrieved

New in version 3.0.

Return type

QgsProject

readProject(self, doc: QDomDocument)

Reads the configuration from the specified QGIS project document.

New in version 3.0.

Parameters

doc (QDomDocument) –

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

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.

New in version 3.0.

Parameters

layers (Iterable[QgsMapLayer]) –

reset(self)

reset to default values

scaleDependencyMode(self)QgsSnappingConfig.ScaleDependencyMode

Returns the scale dependency mode

New in version 3.14.

Return type

QgsSnappingConfig.ScaleDependencyMode

selfSnapping(self) → bool

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

New in version 3.14.

Return type

bool

setEnabled(self, enabled: bool)

enables the snapping

Parameters

enabled (bool) –

setIndividualLayerSettings(self, vl: QgsVectorLayer, individualLayerSettings: QgsSnappingConfig.IndividualLayerSettings)

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

Parameters
setIntersectionSnapping(self, enabled: bool)

Sets if the snapping on intersection is enabled

Parameters

enabled (bool) –

setMaximumScale(self, maxScale: float)

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

New in version 3.14.

Parameters

maxScale (float) –

setMinimumScale(self, minScale: float)

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

New in version 3.14.

Parameters

minScale (float) –

setMode(self, mode: QgsSnappingConfig.SnappingMode)

define the mode of snapping

Parameters

mode (QgsSnappingConfig.SnappingMode) –

setProject(self, project: QgsProject)

The project from which the snapped layers should be retrieved

New in version 3.0.

Parameters

project (QgsProject) –

setScaleDependencyMode(self, mode: QgsSnappingConfig.ScaleDependencyMode)

Set the scale dependency mode

New in version 3.14.

Parameters

mode (QgsSnappingConfig.ScaleDependencyMode) –

setSelfSnapping(self, enabled: bool)

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

New in version 3.14.

Parameters

enabled (bool) –

setTolerance(self, tolerance: float)

Sets the tolerance

Parameters

tolerance (float) –

setType(self, type: QgsSnappingConfig.SnappingType)

define the type of snapping

Deprecated since version QGIS: 3.12 use setTypeFlag instead.

Parameters

type (QgsSnappingConfig.SnappingType) –

setTypeFlag(self, type: Union[QgsSnappingConfig.SnappingTypeFlag, QgsSnappingConfig.SnappingTypes])

define the type of snapping

New in version 3.12.

Parameters

type (Union[QgsSnappingConfig.SnappingTypeFlag) –

setUnits(self, units: QgsTolerance.UnitType)

Sets the type of units

Parameters

units (QgsTolerance.UnitType) –

snappingTypeFlagToString(type: Union[QgsSnappingConfig.SnappingTypeFlag, QgsSnappingConfig.SnappingTypes]) → str

Convenient method to returns the translated name of the enum type QgsSnappingConfig.SnappingTypeFlag

New in version 3.12.

Parameters

type (Union[QgsSnappingConfig.SnappingTypeFlag) –

Return type

str

staticMetaObject = <PyQt5.QtCore.QMetaObject object>
tolerance(self) → float

Returns the tolerance

Return type

float

type(self)QgsSnappingConfig.SnappingType

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

Deprecated since version QGIS: 3.12 use typeFlag instead.

Return type

QgsSnappingConfig.SnappingType

typeFlag(self)QgsSnappingConfig.SnappingTypeFlag

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

New in version 3.12.

Return type

QgsSnappingConfig.SnappingTypeFlag

units(self)QgsTolerance.UnitType

Returns the type of units

Return type

QgsTolerance.UnitType

writeProject(self, doc: QDomDocument)

Writes the configuration to the specified QGIS project document.

New in version 3.0.

Parameters

doc (QDomDocument) –