Class: QgsAbstractRelationEditorWidget¶
Base class to build new relation widgets.
Added in version 3.18.
Class Hierarchy¶
Base classes¶
Subclasses¶
The default relation widget in QGIS. |
Methods
Adds new features with given geometry |
|
A hook called right after |
|
A hook called right after |
|
A hook called right before |
|
A hook called right before |
|
Returns the widget configuration |
|
Delete a feature with given fid |
|
Deletes the features with fids |
|
Duplicates a feature |
|
Duplicates features |
|
Returns the attribute editor context. |
|
Returns the widget's current feature If the widget is in multiedit mode only the first is returned |
|
Returns the widget's current features |
|
Determines the force suppress form popup status that is configured for this widget |
|
Determines the label of this element |
|
Links a new feature to the relation |
|
Returns true if editing multiple features at a time |
|
Returns the nm relation |
|
Determines the relation id of the second relation involved in an N:M relation. |
|
Called when the link feature dialog is confirmed by the user |
|
Called when an attribute value in the parent widget has changed to newValue |
|
Returns the relation |
|
Saves the current modifications in the relation |
|
Defines the widget configuration |
|
Sets the editor context |
|
Sets the feature being edited and updates the UI unless update is set to |
|
Sets force suppress form popup status with forceSuppressFormPopup configured for this widget |
|
Sets label for this element If it's empty it takes the relation id as label |
|
Set multiple feature to edit simultaneously. |
|
Sets nmRelationId for the relation id of the second relation involved in an N:M relation. |
|
Sets the relation and the feature |
|
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. |
|
Defines if a title label should be shown for this widget. |
|
Sets the title of the widget, if it is wrapped within a |
|
Refresh the UI when the widget becomes visible |
|
Defines if a title label should be shown for this widget. |
|
Toggles editing state of the widget |
|
Unlinks a feature with given fid |
|
Unlinks the features with fids |
|
Updates the title contents to reflect the current state of the widget |
|
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. |
Signals
Emit this signal, whenever the related features changed. |
- class qgis.gui.QgsAbstractRelationEditorWidget[source]¶
Bases:
QWidget- __init__(config: Dict[str, Any], parent: QWidget | None = None)
Constructor
- Parameters:
config (Dict[str, Any])
parent (Optional[QWidget] = None)
- addFeature(self, geometry: QgsGeometry = QgsGeometry()) Any[source]¶
Adds new features with given
geometryAdded in version 3.24.
- Parameters:
geometry (
QgsGeometry= QgsGeometry())- Return type:
Any
- afterSetRelationFeature(self)[source]¶
A hook called right after
setRelationFeature()is executed, but beforeupdateUi()is called. Used to update the UI once setting the relation feature is done. CheckQgsRealationEditorWidgetas an example.
- afterSetRelations(self)[source]¶
A hook called right after
setRelations()is executed, but beforeupdateUi()is called. Used to update the UI once setting the relations is done. CheckQgsRealationEditorWidgetas an example.
- beforeSetRelationFeature(self, newRelation: QgsRelation, newFeature: QgsFeature)[source]¶
A hook called right before
setRelationFeature()is executed. Used to update the UI once setting the relation feature is done. CheckQgsRealationEditorWidgetas an example.- Parameters:
newRelation (QgsRelation)
newFeature (QgsFeature)
- beforeSetRelations(self, newRelation: QgsRelation, newNmRelation: QgsRelation)[source]¶
A hook called right before
setRelations()is executed. Used to manipulate UI once setting the relations is done. CheckQgsRealationEditorWidgetas an example.- Parameters:
newRelation (QgsRelation)
newNmRelation (QgsRelation)
- deleteFeature(self, fid: int = int())[source]¶
Delete a feature with given
fid- Parameters:
fid (int = int())
- editorContext(self) QgsAttributeEditorContext[source]¶
Returns the attribute editor context.
- Return type:
- feature(self) QgsFeature[source]¶
Returns the widget’s current feature If the widget is in multiedit mode only the first is returned
See also
- Return type:
- features(self) List[QgsFeature]¶
Returns the widget’s current features
Added in version 3.24.
- Return type:
List[QgsFeature]
- forceSuppressFormPopup(self) bool[source]¶
Determines the force suppress form popup status that is configured for this widget
- Return type:
bool
- label(self) str[source]¶
Determines the label of this element
Deprecated since version 3.20: Label is handled directly in
QgsAttributeForm.- Return type:
str
- linkFeature(self, filterExpression: str | None = '')[source]¶
Links a new feature to the relation
- Parameters:
filterExpression (Optional[str] = '') – to filter the available features in the link dialog since QGIS 3.40
- multiEditModeActive(self) bool[source]¶
Returns true if editing multiple features at a time
Added in version 3.24.
- Return type:
bool
- nmRelation(self) QgsRelation[source]¶
Returns the nm relation
Added in version 3.18.
- Return type:
- nmRelationId(self) Any[source]¶
Determines the relation id of the second relation involved in an N:M relation.
- Return type:
Any
- onLinkFeatureDlgAccepted(self)[source]¶
Called when the link feature dialog is confirmed by the user
- parentFormValueChanged(self, attribute: str | None, newValue: Any)[source]¶
Called when an
attributevalue in the parent widget has changed tonewValue- Parameters:
attribute (Optional[str])
newValue (Any)
Emit this signal, whenever the related features changed. This happens for example when related features are added, removed, linked or unlinked.
Added in version 3.22.
- relation(self) QgsRelation[source]¶
Returns the relation
Added in version 3.18.
- Return type:
- setConfig(self, config: Dict[str, Any])[source]¶
Defines the widget configuration
- Parameters:
config (Dict[str, Any])
- setEditorContext(self, context: QgsAttributeEditorContext)[source]¶
Sets the editor
contextNote
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)[source]¶
Sets the
featurebeing edited and updates the UI unlessupdateis set toFalse- Parameters:
feature (QgsFeature)
update (bool = True)
- setForceSuppressFormPopup(self, forceSuppressFormPopup: bool)[source]¶
Sets force suppress form popup status with
forceSuppressFormPopupconfigured for this widget- Parameters:
forceSuppressFormPopup (bool)
- setLabel(self, label: str | None = '')[source]¶
Sets
labelfor this element If it’s empty it takes the relation id as label- Parameters:
label (Optional[str] = '')
- setMultiEditFeatureIds(self, fids: Any)[source]¶
Set multiple feature to edit simultaneously.
- Parameters:
fids (Any) – Multiple Id of features to edit
Added in version 3.24.
- setNmRelationId(self, nmRelationId: Any = None)[source]¶
Sets
nmRelationIdfor 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)[source]¶
Sets the
relationand thefeature- Parameters:
relation (QgsRelation)
feature (QgsFeature)
- setRelations(self, relation: QgsRelation, nmrelation: QgsRelation)[source]¶
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)[source]¶
Defines if a title label should be shown for this widget.
Deprecated since version 3.20: Label is handled directly in
QgsAttributeForm.- Parameters:
showLabel (bool)
- setTitle(self, title: str | None)[source]¶
Sets the title of the widget, if it is wrapped within a
QgsCollapsibleGroupBoxDeprecated since version 3.20: Label is handled directly in
QgsAttributeForm.- Parameters:
title (Optional[str])
- showEvent(self, a0: QShowEvent | None)[source]¶
Refresh the UI when the widget becomes visible
- Parameters:
a0 (Optional[QShowEvent])
- showLabel(self) bool[source]¶
Defines if a title label should be shown for this widget.
Deprecated since version 3.20: Label is handled directly in
QgsAttributeForm.- Return type:
bool
- toggleEditing(self, state: bool)[source]¶
Toggles editing state of the widget
- Parameters:
state (bool)
- unlinkFeature(self, fid: int = int())[source]¶
Unlinks a feature with given
fid- Parameters:
fid (int = int())
- updateTitle(self)[source]¶
Updates the title contents to reflect the current state of the widget
Deprecated since version 3.20: Label is handled directly in
QgsAttributeForm.