Class: QgsAbstractRelationEditorWidget¶
Base class to build new relation widgets.
Added in version 3.18.
Note
This is an abstract class, with methods which must be implemented by a subclass.
The following methods must be implemented: config(), parentFormValueChanged(), setConfig()
Class Hierarchy¶
Base classes¶
Subclasses¶
The default relation widget in QGIS. |
- 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:
- virtual 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.
- virtual 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.
- virtual 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)
- virtual 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)
- abstract config(self) Dict[str, Any][source]¶
Returns the widget configuration
- Return type:
Dict[str, Any]
- 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:
- 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:
- onLinkFeatureDlgAccepted(self)[source]¶
Called when the link feature dialog is confirmed by the user
- abstract 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)
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- relation(self) QgsRelation[source]¶
Returns the relation
Added in version 3.18.
- Return type:
- abstract setConfig(self, config: Dict[str, Any])[source]¶
Defines the widget configuration
- Parameters:
config (Dict[str, Any])
- virtual 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)
- virtual 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])
- virtual 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.