Class: QgsEditFormConfig¶
- class qgis.core.QgsEditFormConfig¶
Bases:
sip.wrapper
Contains configuration settings for an editor form.
QgsEditFormConfig(o:
QgsEditFormConfig
) Copy constructorQgsEditFormConfig() Create a new edit form config. Normally invoked by
QgsVectorLayer
Enums
Bases:
enum.IntEnum
alias of
AttributeFormLayout
alias of
AttributeFormSuppression
alias of
AttributeFormPythonInitCodeSource
Methods
Adds a new element to the invisible root container in the layout.
Deserialize drag and drop designer elements.
Clears all the tabs for the attribute editor form with EditorLayout.TabLayout.
Returns data defined properties for
fieldName
Gets Python code for edit form initialization.
Returns Python code source for edit form initialization (if it shall be loaded from a file, read from the provided dialog editor or inherited from the environment)
Gets Python external file path for edit form initialization.
Gets Python function for edit form initialization.
Gets the invisible root container for the drag and drop designer form (EditorLayout.TabLayout).
If this returns
True
, the widget at the given index will receive its label on the previous line while if it returnsFalse
, the widget will receive its label on the left hand side.Gets the active layout style for the attribute editor for this layer
Returns data defined property definitions.
This returns
True
if the field is manually set to read only or if the field does not support editing like joins or virtual fields.Read XML information Deserialize on project load
Remove the configuration for the editor widget with the given name
If this returns
True
, the widget at the givenindex
will remember the previously entered value from this QGIS session when creating new features.Set data defined properties for
fieldName
toproperties
Set Python code for edit form initialization.
Sets if Python code shall be used for edit form initialization and its origin
Set Python external file path for edit form initialization.
Set Python function for edit form initialization.
If this is set to
True
, the widget at the given index will receive its label on the previous line while if it is set toFalse
, the widget will receive its label on the left hand side.Sets the active layout style for the attribute editor for this layer
If set to
False
, the widget at the given index will be read-only.Sets whether the widget at the given
index
will remember the previously entered value from this QGIS session when creating new features.Sets type of feature form pop-up suppression after feature creation (overrides app setting)
Set path to the .ui form.
Set the editor widget config for a widget which is not for a simple field.
Type of feature form pop-up suppression after feature creation (overrides app setting)
Returns a list of tabs for EditorLayout.TabLayout obtained from the invisible root container.
Returns the path or URL to the .ui form.
Gets the configuration for the editor widget with the given name.
Write XML information Serialize on project save
Attributes
- class DataDefinedProperty(value)¶
Bases:
enum.IntEnum
Data defined properties. Form data defined overrides are stored in a property collection and they can be retrieved using the indexes specified in this enum.
New in version 3.14.
NoProperty
: No propertyAllProperties
: All properties for itemAlias
: AliasEditable
: Editable state
New in version 3.30.
- EditorLayout¶
alias of
AttributeFormLayout
- FeatureFormSuppress¶
alias of
AttributeFormSuppression
- class GroupData¶
Bases:
sip.wrapper
Constructor for GroupData
QgsEditFormConfig.GroupData(name: str, fields: Iterable[str])
QgsEditFormConfig.GroupData(QgsEditFormConfig.GroupData)
- mFields¶
- mName¶
- PythonInitCodeSource¶
alias of
AttributeFormPythonInitCodeSource
- class TabData¶
Bases:
sip.wrapper
Constructor for TabData
QgsEditFormConfig.TabData(name: str, fields: Iterable[str], groups: Iterable[QgsEditFormConfig.GroupData])
QgsEditFormConfig.TabData(QgsEditFormConfig.TabData)
- mFields¶
- mGroups¶
- mName¶
- addTab(self, data: QgsAttributeEditorElement)¶
Adds a new element to the invisible root container in the layout.
This is only useful in combination with EditorLayout.TabLayout.
- Parameters:
data (QgsAttributeEditorElement) –
- attributeEditorElementFromDomElement(self, elem: QDomElement, parent: QgsAttributeEditorElement, layerId: str = '', context: QgsReadWriteContext = QgsReadWriteContext()) QgsAttributeEditorElement ¶
Deserialize drag and drop designer elements.
Deprecated since version QGIS: 3.18 use
QgsAttributeEditorElement
.create instead- Parameters:
elem (QDomElement) –
parent (QgsAttributeEditorElement) –
layerId (str = '') –
context (
QgsReadWriteContext
= QgsReadWriteContext()) –
- Return type:
- clearTabs(self)¶
Clears all the tabs for the attribute editor form with EditorLayout.TabLayout.
- dataDefinedFieldProperties(self, fieldName: str) QgsPropertyCollection ¶
Returns data defined properties for
fieldName
New in version 3.14.
- Parameters:
fieldName (str) –
- Return type:
- initCode(self) str ¶
Gets Python code for edit form initialization.
- Return type:
str
- initCodeSource(self) Qgis.AttributeFormPythonInitCodeSource ¶
Returns Python code source for edit form initialization (if it shall be loaded from a file, read from the provided dialog editor or inherited from the environment)
- Return type:
- initFilePath(self) str ¶
Gets Python external file path for edit form initialization.
- Return type:
str
- initFunction(self) str ¶
Gets Python function for edit form initialization. Will be looked up in a Python file relative to the project folder if it includes a module name or if it’s a pure function name it will searched in the Python code set with
setInitCode()
.- Return type:
str
- invisibleRootContainer(self) QgsAttributeEditorContainer ¶
Gets the invisible root container for the drag and drop designer form (EditorLayout.TabLayout).
New in version 3.
- Return type:
- labelOnTop(self, idx: int) bool ¶
If this returns
True
, the widget at the given index will receive its label on the previous line while if it returnsFalse
, the widget will receive its label on the left hand side. Labeling on top leaves more horizontal space for the widget itself.- Parameters:
idx (int) –
- Return type:
bool
- layout(self) Qgis.AttributeFormLayout ¶
Gets the active layout style for the attribute editor for this layer
- Return type:
- propertyDefinitions() Dict[int, QgsPropertyDefinition] ¶
Returns data defined property definitions.
New in version 3.14.
- Return type:
Dict[int, QgsPropertyDefinition]
- readOnly(self, idx: int) bool ¶
This returns
True
if the field is manually set to read only or if the field does not support editing like joins or virtual fields.- Parameters:
idx (int) –
- Return type:
bool
- readXml(self, node: QDomNode, context: QgsReadWriteContext)¶
Read XML information Deserialize on project load
- Parameters:
node (QDomNode) –
context (QgsReadWriteContext) –
- removeWidgetConfig(self, widgetName: str) bool ¶
Remove the configuration for the editor widget with the given name
- Parameters:
widgetName (str) – The name of the widget.
- Return type:
bool
- Returns:
True
if a configuration has been removed
- reuseLastValue(self, index: int) bool ¶
If this returns
True
, the widget at the givenindex
will remember the previously entered value from this QGIS session when creating new features.See also
New in version 3.20.
- Parameters:
index (int) –
- Return type:
bool
- setDataDefinedFieldProperties(self, fieldName: str, properties: QgsPropertyCollection)¶
Set data defined properties for
fieldName
toproperties
New in version 3.14.
- Parameters:
fieldName (str) –
properties (QgsPropertyCollection) –
- setInitCode(self, code: str)¶
Set Python code for edit form initialization. Make sure that you also set the appropriate function name in
setInitFunction()
.- Parameters:
code (str) –
- setInitCodeSource(self, initCodeSource: Qgis.AttributeFormPythonInitCodeSource)¶
Sets if Python code shall be used for edit form initialization and its origin
- Parameters:
initCodeSource (Qgis.AttributeFormPythonInitCodeSource) –
- setInitFilePath(self, filePath: str)¶
Set Python external file path for edit form initialization. Make sure that you also set the appropriate function name in
setInitFunction()
.- Parameters:
filePath (str) –
- setInitFunction(self, function: str)¶
Set Python function for edit form initialization. Will be looked up in a Python file relative to the project folder if it includes a module name or if it’s a pure function name it will searched in the Python code set with
setInitCode()
.- Parameters:
function (str) –
- setLabelOnTop(self, idx: int, onTop: bool)¶
If this is set to
True
, the widget at the given index will receive its label on the previous line while if it is set toFalse
, the widget will receive its label on the left hand side. Labeling on top leaves more horizontal space for the widget itself.- Parameters:
idx (int) –
onTop (bool) –
- setLayout(self, editorLayout: Qgis.AttributeFormLayout)¶
Sets the active layout style for the attribute editor for this layer
- Parameters:
editorLayout (Qgis.AttributeFormLayout) –
- setReadOnly(self, idx: int, readOnly: bool = True)¶
If set to
False
, the widget at the given index will be read-only.- Parameters:
idx (int) –
readOnly (bool = True) –
- setReuseLastValue(self, index: int, reuse: bool)¶
Sets whether the widget at the given
index
will remember the previously entered value from this QGIS session when creating new features.See also
New in version 3.20.
- Parameters:
index (int) –
reuse (bool) –
- setSuppress(self, s: Qgis.AttributeFormSuppression)¶
Sets type of feature form pop-up suppression after feature creation (overrides app setting)
- Parameters:
- setUiForm(self, ui: str)¶
Set path to the .ui form. When a string is provided in
ui
, the layout style will be set to EditorLayout.UiFileLayout, if an empty or a null string is provided, the layout style will be set to EditorLayout.GeneratedLayout. Ifui
is a URL, a local copy of the file will be made and will be used to create the formscontext
is provided to save error messages- Parameters:
ui (str) –
- setWidgetConfig(self, widgetName: str, config: Dict[str, Any]) bool ¶
Set the editor widget config for a widget which is not for a simple field.
Example¶
editFormConfig = layer.editFormConfig() editFormConfig.setWidgetConfig( 'relation_id', { 'nm-rel': 'other_relation' } ) layer.setEditFormConfig(editFormConfig)
- type widgetName:
str
- param widgetName:
The name of the widget to configure
- type config:
Dict[str
- param config:
The config to set for this widget
- rtype:
bool
- return:
False
if a field exists with the provided widgetName. In this caseQgsVectorLayer
.setEditorWidgetSetup should be used.
- staticMetaObject = <PyQt5.QtCore.QMetaObject object>¶
- suppress(self) Qgis.AttributeFormSuppression ¶
Type of feature form pop-up suppression after feature creation (overrides app setting)
- Return type:
- tabs(self) List[QgsAttributeEditorElement] ¶
Returns a list of tabs for EditorLayout.TabLayout obtained from the invisible root container.
- Return type:
- uiForm(self) str ¶
Returns the path or URL to the .ui form. Only meaningful with EditorLayout.UiFileLayout
- Return type:
str
- widgetConfig(self, widgetName: str) Dict[str, Any] ¶
Gets the configuration for the editor widget with the given name.
- Parameters:
widgetName (str) – The name of the widget.
- Return type:
Dict[str, Any]
- Returns:
The configuration for the editor widget or an empty config if the field does not exist
- writeXml(self, node: QDomNode, context: QgsReadWriteContext)¶
Write XML information Serialize on project save
- Parameters:
node (QDomNode) –
context (QgsReadWriteContext) –