Class: QgsFieldComboBox¶
A combobox which displays the list of fields of a given layer.
It might be combined with a QgsMapLayerComboBox to
automatically update fields according to a chosen layer. If expression
must be used, QgsFieldExpressionWidget shall be used
instead.
See also
Class Hierarchy¶
Base classes¶
- class qgis.gui.QgsFieldComboBox[source]¶
Bases:
QComboBox- __init__(parent: QWidget | None = None)
QgsFieldComboBox creates a combo box to display the fields of a layer. The layer can be either manually given or dynamically set by connecting the signal
QgsMapLayerComboBox.layerChanged to the slot setLayer.- Parameters:
parent (Optional[QWidget] = None)
- allowEmptyFieldName(self) bool[source]¶
Returns
Trueif the combo box allows the empty field (“not set”) choice.See also
- Return type:
bool
- signal fieldChanged[source]¶
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.
- fields(self) QgsFields[source]¶
Returns the fields currently shown in the combobox.
This will either be fields from the associated
layer()or the fields manually set by a call tosetFields().Added in version 3.14.
- Return type:
- filters(self) QgsFieldProxyModel.Filters[source]¶
currently used filter on list of fields
- Return type:
- layer(self) QgsVectorLayer | None[source]¶
Returns the layer currently associated with the combobox.
See also
- Return type:
Optional[QgsVectorLayer]
- setAllowEmptyFieldName(self, allowEmpty: bool)[source]¶
Sets whether an optional empty field (“not set”) option is shown in the combo box.
See also
- Parameters:
allowEmpty (bool)
- setField(self, fieldName: str | None)[source]¶
setField sets the currently selected field
- Parameters:
fieldName (Optional[str])
- setFields(self, fields: QgsFields)[source]¶
Manually sets the
fieldsto use for the combo box.This method should only be used when the combo box ISN’T associated with a
layer()and needs to show the fields from an arbitrary field collection instead. CallingsetFields()will automatically clear any existinglayer().See also
Added in version 3.14.
- Parameters:
fields (QgsFields)
- setFilters(self, filters: QgsFieldProxyModel.Filters | QgsFieldProxyModel.Filter)[source]¶
setFilters allows filtering according to the type of field
- Parameters:
filters (Union[QgsFieldProxyModel.Filters, QgsFieldProxyModel.Filter])
- setLayer(self, layer: QgsMapLayer | None)[source]¶
Sets the layer for which fields are listed in the combobox. If no layer is set or a non-vector layer is set then the combobox will be empty.
See also
- Parameters:
layer (Optional[QgsMapLayer])