Class: QgsFieldModel

class qgis.core.QgsFieldModel(parent: QObject = None)

Bases: PyQt5.QtCore.QAbstractItemModel

Constructor for QgsFieldModel - creates a model to display the fields of a given layer.

The QgsFieldModel class is a model to display the list of fields of a layer in widgets. If allowed, expressions might be added to the end of the model. It can be associated with a QgsMapLayerModel to dynamically display a layer and its fields.

New in version 2.3.

Parameters

parent

EditorWidgetType = 265
ExpressionRole = 259
ExpressionValidityRole = 261
FieldIndexRole = 258
FieldIsWidgetEditable = 267
FieldNameRole = 257
FieldOriginRole = 263
class FieldRoles

Bases: int

FieldTypeRole = 262
IsEmptyRole = 264
IsExpressionRole = 260
JoinedFieldIsEditable = 266
allowEmptyFieldName(self) → bool

Returns True if the model allows the empty field (“not set”) choice.

New in version 3.0.

Return type

bool

allowExpression(self) → bool

Returns True if the model allows custom expressions to be created and displayed.

Return type

bool

QgsFieldModel.beginInsertColumns(self, QModelIndex, int, int)
QgsFieldModel.beginInsertRows(self, QModelIndex, int, int)
QgsFieldModel.beginMoveColumns(self, QModelIndex, int, int, QModelIndex, int) -> bool
QgsFieldModel.beginMoveRows(self, QModelIndex, int, int, QModelIndex, int) -> bool
QgsFieldModel.beginRemoveColumns(self, QModelIndex, int, int)
QgsFieldModel.beginRemoveRows(self, QModelIndex, int, int)
beginResetModel(self)
QgsFieldModel.changePersistentIndex(self, QModelIndex, QModelIndex)
changePersistentIndexList(self, Iterable[QModelIndex], Iterable[QModelIndex])
childEvent(self, QChildEvent)
columnCount(self, parent: QModelIndex) → int
Parameters

parent (QModelIndex) –

Return type

int

connectNotify(self, QMetaMethod)
QgsFieldModel.createIndex(self, int, int, object: object = 0) -> QModelIndex
customEvent(self, QEvent)
data(self, index: QModelIndex, role: int) → Any
Parameters
  • index (QModelIndex) –

  • role (int) –

Return type

Any

QgsFieldModel.decodeData(self, int, int, QModelIndex, QDataStream) -> bool
disconnectNotify(self, QMetaMethod)
encodeData(self, Iterable[QModelIndex], QDataStream)
endInsertColumns(self)
endInsertRows(self)
endMoveColumns(self)
endMoveRows(self)
endRemoveColumns(self)
endRemoveRows(self)
endResetModel(self)
fieldToolTip(field: QgsField) → str

Returns a HTML formatted tooltip string for a field, containing details like the field name, alias and type.

New in version 3.0.

Parameters

field (QgsField) –

Return type

str

index(self, row: int, column: int, parent: QModelIndex = QModelIndex()) → QModelIndex
Parameters
  • row (int) –

  • column (int) –

  • parent (QModelIndex = QModelIndex()) –

Return type

QModelIndex

indexFromName(self, fieldName: str) → QModelIndex

Returns the index corresponding to a given fieldName.

Parameters

fieldName (str) –

Return type

QModelIndex

isField(self, expression: str) → bool

Returns True if a string represents a field reference, or False if it is an expression consisting of more than direct field reference.

Parameters

expression (str) –

Return type

bool

isSignalConnected(self, QMetaMethod) → bool
layer(self)QgsVectorLayer

Returns the layer associated with the model.

See also

setLayer()

Return type

QgsVectorLayer

parent(self, child: QModelIndex) → QModelIndex
Parameters

child (QModelIndex) –

Return type

QModelIndex

persistentIndexList(self) → List[QModelIndex]
receivers(self, PYQT_SIGNAL) → int
removeExpression(self)

Removes any custom expression from the model.

See also

setExpression()

resetInternalData(self)
rowCount(self, parent: QModelIndex = QModelIndex()) → int
Parameters

parent (QModelIndex = QModelIndex()) –

Return type

int

sender(self) → QObject
senderSignalIndex(self) → int
setAllowEmptyFieldName(self, allowEmpty: bool)

Sets whether an optional empty field (“not set”) option is present in the model.

New in version 3.0.

Parameters

allowEmpty (bool) –

setAllowExpression(self, allowExpression: bool)

Sets whether custom expressions are accepted and displayed in the model.

See also

setExpression()

Parameters

allowExpression (bool) –

setExpression(self, expression: str)

Sets a single expression to be added after the fields at the end of the model.

Parameters

expression (str) –

setLayer(self, layer: QgsVectorLayer)

Set the layer from which fields are displayed.

See also

layer()

Parameters

layer (QgsVectorLayer) –

timerEvent(self, QTimerEvent)
updateModel(self)

Called when the model must be updated.