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 signal QgsMapLayerComboBox.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 a QgsMapLayerComboBox to automatically update fields according to a chosen layer. If expression must be used, QgsFieldExpressionWidget shall be used instead.

New in version 2.3.

Parameters

parent

actionEvent(self, QActionEvent)
allowEmptyFieldName(self) → bool

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

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) –

filters(self) → QgsFieldProxyModel.Filters

currently used filter on list of fields

Return type

QgsFieldProxyModel.Filters

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

setLayer()

Return type

QgsVectorLayer

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.

New in version 3.0.

Parameters

allowEmpty (bool) –

setField(self, fieldName: str)

setField sets the currently selected field

Parameters

fieldName (str) –

setFilters(self, filters: Union[QgsFieldProxyModel.Filters, QgsFieldProxyModel.Filter])

setFilters allows fitering 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

layer()

Parameters

layer (QgsMapLayer) –

sharedPainter(self) → QPainter
showEvent(self, QShowEvent)
tabletEvent(self, QTabletEvent)
timerEvent(self, QTimerEvent)
updateMicroFocus(self)
wheelEvent(self, QWheelEvent)