Class: QgsFieldComboBox¶
The QgsFieldComboBox
is a combo box 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¶
Methods
Returns |
|
Returns the currently selected field |
|
Returns the fields currently shown in the combobox. |
|
currently used filter on list of fields |
|
Returns the layer currently associated with the combobox. |
|
Sets whether an optional empty field ("not set") option is shown in the combo box. |
|
setField sets the currently selected field |
|
Manually sets the fields to use for the combo box. |
|
setFilters allows filtering according to the type of field |
|
Sets the layer for which fields are listed in the combobox. |
Signals
Emitted when the currently selected field changes. |
- 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
True
if the combo box allows the empty field (“not set”) choice.See also
- Return type:
bool
- signal fieldChanged(fieldName: str)[source]¶
Emitted when the currently selected field changes.
- Parameters:
fieldName (str)
- 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
fields
to 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])