Class: QgsAbstractRelationEditorWidget

class qgis.gui.QgsAbstractRelationEditorWidget(config: Dict[str, Any], parent: QWidget = None)

Bases: PyQt5.QtWidgets.QWidget

Constructor

Base class to build new relation widgets.

New in version 3.18.

Parameters
  • config (Dict[str) –

  • parent

actionEvent(self, QActionEvent)
addFeature(self, geometry: QgsGeometry = QgsGeometry())

Adds a new feature with given geometry

Parameters

geometry (QgsGeometry = QgsGeometry()) –

changeEvent(self, QEvent)
childEvent(self, QChildEvent)
closeEvent(self, QCloseEvent)
config(self) → Dict[str, Any]

Returns the widget configuration

Return type

Dict[str, Any]

connectNotify(self, QMetaMethod)
contextMenuEvent(self, QContextMenuEvent)
create(self, window: sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)
customEvent(self, QEvent)
deleteFeature(self, fid: int = ::QgsFeatureId())

Delete a feature with given fid

Parameters

fid (int = ::QgsFeatureId()) –

deleteFeatures(self, fids: object)

Deletes the features with fids

Parameters

fids (object) –

destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True)
disconnectNotify(self, QMetaMethod)
dragEnterEvent(self, QDragEnterEvent)
dragLeaveEvent(self, QDragLeaveEvent)
dragMoveEvent(self, QDragMoveEvent)
dropEvent(self, QDropEvent)
duplicateFeature(self, fid: int)

Duplicates a feature

Parameters

fid (int) –

duplicateFeatures(self, fids: object)

Duplicates features

Parameters

fids (object) –

editorContext(self)QgsAttributeEditorContext

Returns the attribute editor context.

Return type

QgsAttributeEditorContext

enterEvent(self, QEvent)
event(self, QEvent) → bool
feature(self)QgsFeature

Returns the widget’s current feature

Return type

QgsFeature

focusInEvent(self, QFocusEvent)
focusNextChild(self) → bool
focusNextPrevChild(self, bool) → bool
focusOutEvent(self, QFocusEvent)
focusPreviousChild(self) → bool
forceSuppressFormPopup(self) → bool

Determines the force suppress form popup status that is configured for this widget

Return type

bool

hideEvent(self, QHideEvent)
initPainter(self, QPainter)
inputMethodEvent(self, QInputMethodEvent)
isSignalConnected(self, QMetaMethod) → bool
keyPressEvent(self, QKeyEvent)
keyReleaseEvent(self, QKeyEvent)
label(self) → str

Determines the label of this element

Return type

str

leaveEvent(self, QEvent)
linkFeature(self)

Links a new feature to the relation

metric(self, QPaintDevice.PaintDeviceMetric) → int
mouseDoubleClickEvent(self, QMouseEvent)
mouseMoveEvent(self, QMouseEvent)
mousePressEvent(self, QMouseEvent)
mouseReleaseEvent(self, QMouseEvent)
moveEvent(self, QMoveEvent)
nativeEvent(self, Union[QByteArray, bytes, bytearray], sip.voidptr) → Tuple[bool, int]
nmRelationId(self) → Any

Determines the relation id of the second relation involved in an N:M relation.

Return type

Any

onLinkFeatureDlgAccepted(self)

Called when the link feature dialog is confirmed by the user

paintEvent(self, QPaintEvent)
parentFormValueChanged(self, attribute: str, newValue: Any)

Called when an attribute value in the parent widget has changed to newValue

Parameters
  • attribute (str) –

  • newValue (Any) –

receivers(self, PYQT_SIGNAL) → int
resizeEvent(self, QResizeEvent)
saveEdits(self)

Saves the current modifications in the relation

sender(self) → QObject
senderSignalIndex(self) → int
setConfig(self, config: Dict[str, Any])

Defines the widget configuration

Parameters

config (Dict[str) –

setEditorContext(self, context: QgsAttributeEditorContext)

Sets the editor context

Note

if context cadDockWidget is null, it won’t be possible to digitize the geometry of a referencing feature from this widget

Parameters

context (QgsAttributeEditorContext) –

setFeature(self, feature: QgsFeature, update: bool = True)

Sets the feature being edited and updates the UI unless update is set to False

Parameters
  • feature (QgsFeature) –

  • update (bool = True) –

setForceSuppressFormPopup(self, forceSuppressFormPopup: bool)

Sets force suppress form popup status with forceSuppressFormPopup configured for this widget

Parameters

forceSuppressFormPopup (bool) –

setLabel(self, label: str = '')

Sets label for this element If it’s empty it takes the relation id as label

Parameters

label (str = '') –

setNmRelationId(self, nmRelationId: Any = None)

Sets nmRelationId for the relation id of the second relation involved in an N:M relation. If it’s empty, then it’s considered as a 1:M relationship.

Parameters

nmRelationId (Any = None) –

setRelationFeature(self, relation: QgsRelation, feature: QgsFeature)

Sets the relation and the feature

Parameters
setRelations(self, relation: QgsRelation, nmrelation: QgsRelation)

Set the relation(s) for this widget If only one relation is set, it will act as a simple 1:N relation widget If both relations are set, it will act as an N:M relation widget inserting and deleting entries on the intermediate table as required.

Parameters
  • relation (QgsRelation) – Relation referencing the edited table

  • nmrelation (QgsRelation) – Optional reference from the referencing table to a 3rd N:M table

setShowLabel(self, showLabel: bool)

Defines if a title label should be shown for this widget.

Parameters

showLabel (bool) –

sharedPainter(self) → QPainter
showEvent(self, QShowEvent)
showLabel(self) → bool

Defines if a title label should be shown for this widget.

Return type

bool

tabletEvent(self, QTabletEvent)
timerEvent(self, QTimerEvent)
toggleEditing(self, state: bool)

Toggles editing state of the widget

Parameters

state (bool) –

unlinkFeature(self, fid: int = ::QgsFeatureId())

Unlinks a feature with given fid

Parameters

fid (int = ::QgsFeatureId()) –

unlinkFeatures(self, fids: object)

Unlinks the features with fids

Parameters

fids (object) –

updateMicroFocus(self)
updateTitle(self)

Updates the title contents to reflect the current state of the widget

wheelEvent(self, QWheelEvent)