Class: QgsFieldComboBox¶
- class qgis.gui.QgsFieldComboBox(parent: QWidget = None)¶
Bases:
PyQt5.QtWidgets.QComboBox
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 signalQgsMapLayerComboBox
.layerChanged to the slot setLayer.The
QgsFieldComboBox
is a combo box which displays the list of fields of a given layer. It might be combined with aQgsMapLayerComboBox
to automatically update fields according to a chosen layer. If expression must be used,QgsFieldExpressionWidget
shall be used instead.See also
Methods
Returns
True
if the combo box allows the empty field (“not set”) choice.Returns the currently selected field
Returns the fields currently shown in the combobox.
currently used filter on list of fields
- param i
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.
- actionEvent(self, QActionEvent)¶
- allowEmptyFieldName(self) → bool¶
Returns
True
if the combo box allows the empty field (“not set”) choice.See also
New in version 3.0.
- Return type
bool
- changeEvent(self, QEvent)¶
- childEvent(self, QChildEvent)¶
- closeEvent(self, QCloseEvent)¶
- connectNotify(self, QMetaMethod)¶
- contextMenuEvent(self, QContextMenuEvent)¶
- create(self, window: sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)¶
- currentField(self) → str¶
Returns the currently selected field
- Return type
str
- customEvent(self, QEvent)¶
- destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True)¶
- disconnectNotify(self, QMetaMethod)¶
- dragEnterEvent(self, QDragEnterEvent)¶
- dragLeaveEvent(self, QDragLeaveEvent)¶
- dragMoveEvent(self, QDragMoveEvent)¶
- dropEvent(self, QDropEvent)¶
- enterEvent(self, QEvent)¶
- fieldChanged¶
Emitted when the currently selected field changes. [signal]
- Parameters
fieldName (str) –
- fields(self) → QgsFields¶
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()
.New in version 3.14.
- Return type
- filters(self) → QgsFieldProxyModel.Filters¶
currently used filter on list of fields
- Return type
- focusInEvent(self, QFocusEvent)¶
- focusNextChild(self) → bool¶
- focusNextPrevChild(self, bool) → bool¶
- focusOutEvent(self, QFocusEvent)¶
- focusPreviousChild(self) → bool¶
- hideEvent(self, QHideEvent)¶
- indexChanged(self, i: int)¶
- Parameters
i (int) –
- initPainter(self, QPainter)¶
- initStyleOption(self, QStyleOptionComboBox)¶
- inputMethodEvent(self, QInputMethodEvent)¶
- isSignalConnected(self, QMetaMethod) → bool¶
- keyPressEvent(self, QKeyEvent)¶
- keyReleaseEvent(self, QKeyEvent)¶
- layer(self) → QgsVectorLayer¶
Returns the layer currently associated with the combobox.
See also
- Return type
- leaveEvent(self, QEvent)¶
- metric(self, QPaintDevice.PaintDeviceMetric) → int¶
- 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)¶
- receivers(self, PYQT_SIGNAL) → int¶
- resizeEvent(self, QResizeEvent)¶
- sender(self) → QObject¶
- senderSignalIndex(self) → int¶
- setAllowEmptyFieldName(self, allowEmpty: bool)¶
Sets whether an optional empty field (“not set”) option is shown in the combo box.
See also
New in version 3.0.
- Parameters
allowEmpty (bool) –
- setField(self, fieldName: str)¶
setField sets the currently selected field
- Parameters
fieldName (str) –
- setFields(self, fields: QgsFields)¶
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
New in version 3.14.
- Parameters
fields (QgsFields) –
- setFilters(self, filters: Union[QgsFieldProxyModel.Filters, QgsFieldProxyModel.Filter])¶
setFilters allows filtering according to the type of field
- Parameters
filters (Union[QgsFieldProxyModel.Filters) –
- setLayer(self, layer: QgsMapLayer)¶
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 (QgsMapLayer) –
- showEvent(self, QShowEvent)¶
- tabletEvent(self, QTabletEvent)¶
- timerEvent(self, QTimerEvent)¶
- updateMicroFocus(self)¶
- wheelEvent(self, QWheelEvent)¶