Class: QgsAttributeForm

class qgis.gui.QgsAttributeForm(vl: QgsVectorLayer, feature: QgsFeature = QgsFeature(), context: QgsAttributeEditorContext = QgsAttributeEditorContext(), parent: QWidget = None)

Bases: PyQt5.QtWidgets.QWidget

Methods

actionEvent

addInterface

Takes ownership

aggregateFilter

The aggregate filter is only useful if the form is in AggregateFilter mode.

changeAttribute

Call this to change the content of a given attribute.

changeEvent

childEvent

closeEvent

connectNotify

contextMenuEvent

create

currentFormFeature

Returns the feature that is currently displayed in the form with all the changes received on editing the values in the widgets.

customEvent

destroy

disconnectButtonBox

Disconnects the button box (OK/Cancel) from the accept/resetValues slots If this method is called, you have to create these connections from outside

disconnectNotify

displayWarning

Displays a warning message in the form message bar

dragEnterEvent

dragLeaveEvent

dragMoveEvent

dropEvent

editable

Returns if the form is currently in editable mode.

enterEvent

event

eventFilter

Intercepts keypress on custom form (escape should not close it)

feature

rtype

QgsFeature

focusInEvent

focusNextChild

focusNextPrevChild

focusOutEvent

focusPreviousChild

hideButtonBox

Hides the button box (OK/Cancel) and enables auto-commit

hideEvent

initPainter

inputMethodEvent

isSignalConnected

keyPressEvent

keyReleaseEvent

layer

Returns the layer for which this form is shown

leaveEvent

metric

mode

Returns the current mode of the form.

mouseDoubleClickEvent

mouseMoveEvent

mousePressEvent

mouseReleaseEvent

moveEvent

nativeEvent

paintEvent

parentFormValueChanged

Is called in embedded forms when an attribute value in the parent form has changed to newValue.

receivers

refreshFeature

reload current feature

resetSearch

Resets the search/filter form values.

resetValues

Sets all values to the values of the current feature

resizeEvent

save

Save all the values from the editors to the layer.

saveWithDetails

Save all the values from the editors to the layer.

sender

senderSignalIndex

setEditCommandMessage

Sets the edit command message (Undo) that will be used when the dialog is accepted

setExtraContextScope

Sets an additional expression context scope to be used for calculations in this form.

setFeature

Update all editors to correspond to a different feature.

setMessageBar

Sets the message bar to display feedback from the form in.

setMode

Sets the current mode of the form.

setMultiEditFeatureIds

Sets all feature IDs which are to be edited if the form is in multiedit mode

sharedPainter

showButtonBox

Shows the button box (OK/Cancel) and disables auto-commit

showEvent

tabletEvent

timerEvent

updateMicroFocus

wheelEvent

Signals

attributeChanged

Notifies about changes of attributes, this signal is not emitted when the value is set back to the original one.

closed

Emitted when the user selects the close option from the form's button bar.

featureSaved

Emitted when a feature is changed or added [signal]

filterExpressionSet

Emitted when a filter expression is set using the form.

flashFeatures

Emitted when the user chooses to flash a filtered set of features.

modeChanged

Emitted when the form changes mode.

widgetValueChanged

Notifies about changes of attributes

zoomToFeatures

Emitted when the user chooses to zoom to a filtered set of features.

Attributes

AddFeatureMode

AggregateSearchMode

FilterAnd

FilterOr

IdentifyMode

MultiEditMode

ReplaceFilter

SearchMode

SingleEditMode

AddFeatureMode = 1
AggregateSearchMode = 4
FilterAnd = 1
FilterOr = 2
class FilterType

Bases: int

IdentifyMode = 5
class Mode

Bases: int

MultiEditMode = 2
ReplaceFilter = 0
SearchMode = 3
SingleEditMode = 0
actionEvent(self, QActionEvent)
addInterface(self, iface: QgsAttributeFormInterface)

Takes ownership

Parameters

iface (QgsAttributeFormInterface) –

aggregateFilter(self) str

The aggregate filter is only useful if the form is in AggregateFilter mode. In this case it will return a combined expression according to the chosen filters on all attribute widgets.

New in version 3.0.

Return type

str

attributeChanged

Notifies about changes of attributes, this signal is not emitted when the value is set back to the original one.

Parameters
  • attribute (str) – The name of the attribute that changed.

  • value (Any) – The new value of the attribute.

Deprecated since version since: 3.0 [signal]

changeAttribute(self, field: str, value: Any, hintText: str = '')

Call this to change the content of a given attribute. Will update the editor(s) related to this field.

Parameters
  • field (str) – The field to change

  • value (Any) – The new value

  • hintText (str = '') – A hint text for non existent joined features

changeEvent(self, QEvent)
childEvent(self, QChildEvent)
closeEvent(self, QCloseEvent)
closed

Emitted when the user selects the close option from the form’s button bar.

New in version 2.16: [signal]

connectNotify(self, QMetaMethod)
contextMenuEvent(self, QContextMenuEvent)
create(self, window: sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)
currentFormFeature(self) QgsFeature

Returns the feature that is currently displayed in the form with all the changes received on editing the values in the widgets.

New in version 3.16.

Return type

QgsFeature

customEvent(self, QEvent)
destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True)
disconnectButtonBox(self)

Disconnects the button box (OK/Cancel) from the accept/resetValues slots If this method is called, you have to create these connections from outside

disconnectNotify(self, QMetaMethod)
displayWarning(self, message: str)

Displays a warning message in the form message bar

Parameters

message (str) – message string

See also

mode()

New in version 3.12.

dragEnterEvent(self, QDragEnterEvent)
dragLeaveEvent(self, QDragLeaveEvent)
dragMoveEvent(self, QDragMoveEvent)
dropEvent(self, QDropEvent)
editable(self) bool

Returns if the form is currently in editable mode.

Return type

bool

Returns

Editable mode of this form

enterEvent(self, QEvent)
event(self, QEvent) bool
eventFilter(self, object: QObject, event: QEvent) bool

Intercepts keypress on custom form (escape should not close it)

Parameters
  • object (QObject) – The object for which the event has been sent

  • event (QEvent) – The event which is being filtered

Return type

bool

Returns

True if the event has been handled (key was ESC)

feature(self) QgsFeature
Return type

QgsFeature

featureSaved

Emitted when a feature is changed or added [signal]

Parameters

feature (QgsFeature) –

filterExpressionSet

Emitted when a filter expression is set using the form.

Parameters

New in version 2.16: [signal]

flashFeatures

Emitted when the user chooses to flash a filtered set of features.

New in version 3.0: [signal]

Parameters

filter (str) –

focusInEvent(self, QFocusEvent)
focusNextChild(self) bool
focusNextPrevChild(self, bool) bool
focusOutEvent(self, QFocusEvent)
focusPreviousChild(self) bool
hideButtonBox(self)

Hides the button box (OK/Cancel) and enables auto-commit

Note

set Embed in QgsAttributeEditorContext in constructor instead

hideEvent(self, QHideEvent)
initPainter(self, QPainter)
inputMethodEvent(self, QInputMethodEvent)
isSignalConnected(self, QMetaMethod) bool
keyPressEvent(self, QKeyEvent)
keyReleaseEvent(self, QKeyEvent)
layer(self) QgsVectorLayer

Returns the layer for which this form is shown

Return type

QgsVectorLayer

Returns

Layer

leaveEvent(self, QEvent)
metric(self, QPaintDevice.PaintDeviceMetric) int
mode(self) QgsAttributeEditorContext.Mode

Returns the current mode of the form.

See also

setMode()

New in version 2.16.

Return type

QgsAttributeEditorContext.Mode

modeChanged

Emitted when the form changes mode.

Parameters

mode (QgsAttributeEditorContext.Mode) – new mode [signal]

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]
paintEvent(self, QPaintEvent)
parentFormValueChanged(self, attribute: str, newValue: Any)

Is called in embedded forms when an attribute value in the parent form has changed to newValue.

Notify the form widgets that something has changed in case they have filter expressions that depend on the parent form scope.

New in version 3.14.

Parameters
  • attribute (str) –

  • newValue (Any) –

receivers(self, PYQT_SIGNAL) int
refreshFeature(self)

reload current feature

resetSearch(self)

Resets the search/filter form values.

New in version 2.16.

resetValues(self)

Sets all values to the values of the current feature

resizeEvent(self, QResizeEvent)
save(self) bool

Save all the values from the editors to the layer.

Return type

bool

Returns

True if successful

saveWithDetails(self) Tuple[bool, str]

Save all the values from the editors to the layer.

Return type

Tuple[bool, str]

Returns

  • True if save was successful

  • error: will be set to an explanatory error message if an error occurs while saving the form.

New in version 3.18.

sender(self) QObject
senderSignalIndex(self) int
setEditCommandMessage(self, message: str)

Sets the edit command message (Undo) that will be used when the dialog is accepted

Parameters

message (str) – The message

setExtraContextScope(self, extraScope: QgsExpressionContextScope)

Sets an additional expression context scope to be used for calculations in this form.

New in version 3.16.

Parameters

extraScope (QgsExpressionContextScope) –

setFeature(self, feature: QgsFeature)

Update all editors to correspond to a different feature.

Parameters

feature (QgsFeature) – The feature which will be represented by the form

setMessageBar(self, messageBar: QgsMessageBar)

Sets the message bar to display feedback from the form in. This is used in the search/filter mode to display the count of selected features.

Parameters

messageBar (QgsMessageBar) – target message bar

New in version 2.16.

setMode(self, mode: QgsAttributeEditorContext.Mode)

Sets the current mode of the form.

Parameters

mode (QgsAttributeEditorContext.Mode) – form mode

See also

mode()

New in version 2.16.

setMultiEditFeatureIds(self, fids: object)

Sets all feature IDs which are to be edited if the form is in multiedit mode

Parameters

fids (object) – feature ID list

New in version 2.16.

sharedPainter(self) QPainter
showButtonBox(self)

Shows the button box (OK/Cancel) and disables auto-commit

Note

set Embed in QgsAttributeEditorContext in constructor instead

showEvent(self, QShowEvent)
tabletEvent(self, QTabletEvent)
timerEvent(self, QTimerEvent)
updateMicroFocus(self)
wheelEvent(self, QWheelEvent)
widgetValueChanged

Notifies about changes of attributes

Parameters
  • attribute (str) – The name of the attribute that changed.

  • value (Any) – The new value of the attribute.

  • attributeChanged (bool) – If True, it corresponds to an actual change of the feature attribute

New in version 3.0.1: [signal]

zoomToFeatures

Emitted when the user chooses to zoom to a filtered set of features.

New in version 3.0: [signal]

Parameters

filter (str) –