Class: QgsAbstractRelationEditorWidget

class qgis.gui.QgsAbstractRelationEditorWidget

Bases: PyQt5.QtWidgets.QWidget

Base class to build new relation widgets.

New in version 3.18.

QgsAbstractRelationEditorWidget(config: Dict[str, Any], parent: QWidget = None) Constructor

Methods

actionEvent

addFeature

Adds a new feature with given geometry

afterSetRelationFeature

A hook called right after setRelationFeature() is executed, but before updateUi() is called.

afterSetRelations

A hook called right after setRelations() is executed, but before updateUi() is called.

beforeSetRelationFeature

A hook called right before setRelationFeature() is executed.

beforeSetRelations

A hook called right before setRelations() is executed.

changeEvent

childEvent

closeEvent

config

Returns the widget configuration

connectNotify

contextMenuEvent

create

customEvent

deleteFeature

Delete a feature with given fid

deleteFeatures

Deletes the features with fids

destroy

disconnectNotify

dragEnterEvent

dragLeaveEvent

dragMoveEvent

dropEvent

duplicateFeature

Duplicates a feature

duplicateFeatures

Duplicates features

editorContext

Returns the attribute editor context.

enterEvent

event

feature

Returns the widget’s current feature

focusInEvent

focusNextChild

focusNextPrevChild

focusOutEvent

focusPreviousChild

forceSuppressFormPopup

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

hideEvent

initPainter

inputMethodEvent

isSignalConnected

keyPressEvent

keyReleaseEvent

label

Determines the label of this element

leaveEvent

linkFeature

Links a new feature to the relation

metric

mouseDoubleClickEvent

mouseMoveEvent

mousePressEvent

mouseReleaseEvent

moveEvent

nativeEvent

nmRelation

Returns the nm relation

nmRelationId

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

onLinkFeatureDlgAccepted

Called when the link feature dialog is confirmed by the user

paintEvent

parentFormValueChanged

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

receivers

relation

Returns the relation

resizeEvent

saveEdits

Saves the current modifications in the relation

sender

senderSignalIndex

setConfig

Defines the widget configuration

setEditorContext

Sets the editor context

setFeature

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

setForceSuppressFormPopup

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

setLabel

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

setNmRelationId

Sets nmRelationId for the relation id of the second relation involved in an N:M relation.

setRelationFeature

Sets the relation and the feature

setRelations

Sets 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.

setShowLabel

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

setTitle

Sets the title of the widget, if it is wrapped within a QgsCollapsibleGroupBox

sharedPainter

showEvent

Refresh the UI when the widget becomes visible

showLabel

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

tabletEvent

timerEvent

toggleEditing

Toggles editing state of the widget

unlinkFeature

Unlinks a feature with given fid

unlinkFeatures

Unlinks the features with fids

updateMicroFocus

updateTitle

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

updateUi

A hook called every time the state of the relation editor widget has changed via calling its set* methods or slots, e.g.

wheelEvent

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

Adds a new feature with given geometry

Parameters

geometry (QgsGeometry = QgsGeometry()) –

afterSetRelationFeature(self)

A hook called right after setRelationFeature() is executed, but before updateUi() is called. Used to update the UI once setting the relation feature is done. Check QgsRealationEditorWidget as an example.

afterSetRelations(self)

A hook called right after setRelations() is executed, but before updateUi() is called. Used to update the UI once setting the relations is done. Check QgsRealationEditorWidget as an example.

beforeSetRelationFeature(self, newRelation: QgsRelation, newFeature: QgsFeature)

A hook called right before setRelationFeature() is executed. Used to update the UI once setting the relation feature is done. Check QgsRealationEditorWidget as an example.

Parameters
beforeSetRelations(self, newRelation: QgsRelation, newNmRelation: QgsRelation)

A hook called right before setRelations() is executed. Used to manipulate UI once setting the relations is done. Check QgsRealationEditorWidget as an example.

Parameters
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

Deprecated since version QGIS: 3.20 label is handled directly in QgsAttributeForm.

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]
nmRelation(self)QgsRelation

Returns the nm relation

New in version 3.18.

Return type

QgsRelation

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
relation(self)QgsRelation

Returns the relation

New in version 3.18.

Return type

QgsRelation

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)

Sets 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.

Deprecated since version QGIS: 3.20 label is handled directly in QgsAttributeForm.

Parameters

showLabel (bool) –

setTitle(self, title: str)

Sets the title of the widget, if it is wrapped within a QgsCollapsibleGroupBox

Deprecated since version QGIS: 3.20 label is handled directly in QgsAttributeForm.

Parameters

title (str) –

sharedPainter(self)QPainter
showEvent(self, QShowEvent)

Refresh the UI when the widget becomes visible

showLabel(self)bool

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

Deprecated since version QGIS: 3.20 label is handled directly in QgsAttributeForm.

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

Deprecated since version QGIS: 3.20 label is handled directly in QgsAttributeForm.

updateUi(self)

A hook called every time the state of the relation editor widget has changed via calling its set* methods or slots, e.g. changed relation, added feature, etc. Should be used to refresh the UI regarding the new data. Check QgsRealationEditorWidget as an example.

wheelEvent(self, QWheelEvent)