Subgroup: Field
Class: QgsFieldExpressionWidget¶
-
class
qgis.gui.
QgsFieldExpressionWidget
(parent: QWidget = None)¶ Bases:
PyQt5.QtWidgets.QWidget
QgsFieldExpressionWidget creates a widget with a combo box to display the fields and expression and a button to open the expression dialog
The QgsFieldExpressionWidget class reates a widget to choose fields and edit expressions It contains a combo boxto display the fields and expression and a button to open the expression dialog. The combo box is editable, allowing expressions to be edited inline. The validity of the expression is checked live on key press, invalid expressions are displayed in red. The expression will be added to the model (and the fieldChanged signals emitted) only when editing in the line edit is finished (focus lost, enter key pressed).
Methods
actionEvent
allowEvalErrors
Allow accepting expressions with evaluation errors. appendScope
Appends a scope to the current expression context. asExpression
Returns the currently selected field or expression. changeEvent
childEvent
closeEvent
connectNotify
contextMenuEvent
create
currentField
currentField returns the currently selected field or expression if allowed currentFieldChanged
currentText
Returns the current text that is set in the expression area customEvent
destroy
disconnectNotify
dragEnterEvent
dragLeaveEvent
dragMoveEvent
dropEvent
editExpression
open the expression dialog to edit the current or add a new expression enterEvent
event
expression
Returns the currently selected field or expression. expressionDialogTitle
Returns the title used for the expression dialog expressionEdited
when expression is edited by the user in the line edit, it will be checked for validity expressionEditingFinished
when expression has been edited (finished) it will be added to the model filters
currently used filter on list of fields focusInEvent
focusNextChild
focusNextPrevChild
focusOutEvent
focusPreviousChild
hideEvent
initPainter
inputMethodEvent
isExpression
If the content is not just a simple field this method will return true. isExpressionValid
isSignalConnected
isValidExpression
Returns true if the current expression is valid keyPressEvent
keyReleaseEvent
layer
Returns the layer currently associated with the widget. leaveEvent
metric
mouseDoubleClickEvent
mouseMoveEvent
mousePressEvent
mouseReleaseEvent
moveEvent
nativeEvent
paintEvent
receivers
registerExpressionContextGenerator
Register an expression context generator class that will be used to retrieve an expression context for the widget. resizeEvent
sender
senderSignalIndex
setAllowEvalErrors
Allow accepting expressions with evaluation errors. setExpression
Sets the current expression text and if applicable also the field. setExpressionDialogTitle
define the title used in the expression dialog setField
sets the current field or expression in the widget setFilters
setFilters allows fitering according to the type of field setGeomCalculator
Sets the geometry calculator used in the expression dialog setLayer
Sets the layer used to display the fields and expression. setLeftHandButtonStyle
setRow
sets the current row in the widget sharedPainter
showEvent
tabletEvent
timerEvent
updateLineEditStyle
updateLineEditStyle will re-style (color/font) the line edit depending on content and status updateMicroFocus
wheelEvent
Signals
allowEvalErrorsChanged
Allow accepting expressions with evaluation errors. fieldChanged
the signal is emitted when the currently selected field changes [signal] fieldChanged signal with indication of the validity of the expression [signal] Attributes
-
actionEvent
()¶
-
allowEvalErrors
(self) → bool¶ Allow accepting expressions with evaluation errors. This can be useful when we are not able to provide an expression context of which we are sure it’s completely populated.
New in version 3.0.
-
allowEvalErrorsChanged
¶ Allow accepting expressions with evaluation errors. This can be useful when we are not able to provide an expression context of which we are sure it’s completely populated.
New in version 3.0: [signal]
-
appendScope
(self, scope: QgsExpressionContextScope)¶ Appends a scope to the current expression context.
Parameters: scope – The scope to add. New in version 3.2.
-
asExpression
(self) → str¶ Returns the currently selected field or expression. If a field is currently selected, the returned value will be converted to a valid expression referencing this field (ie enclosing the field name with appropriate quotations).
New in version 2.14.
-
changeEvent
(self, event: QEvent)¶
-
childEvent
()¶
-
closeEvent
()¶
-
connectNotify
()¶
-
contextMenuEvent
()¶
-
create
()¶
-
currentField
(self) → Tuple[str, bool, bool]¶ currentField returns the currently selected field or expression if allowed
Parameters: - isExpression – determines if the string returned is the name of a field or an expression
- isValid – determines if the expression (or field) returned is valid
-
currentFieldChanged
(self)¶
-
currentText
(self) → str¶ Returns the current text that is set in the expression area
-
customEvent
()¶
-
destroy
()¶
-
disconnectNotify
()¶
-
dragEnterEvent
()¶
-
dragLeaveEvent
()¶
-
dragMoveEvent
()¶
-
dropEvent
()¶
-
editExpression
(self)¶ open the expression dialog to edit the current or add a new expression
-
enterEvent
()¶
-
event
()¶
-
expression
(self) → str¶ Returns the currently selected field or expression. If a field is currently selected, the returned value will be converted to a valid expression referencing this field (ie enclosing the field name with appropriate quotations).
Alias for asExpression()
New in version 3.0.
-
expressionDialogTitle
(self) → str¶ Returns the title used for the expression dialog
-
expressionEdited
(self, expression: str)¶ when expression is edited by the user in the line edit, it will be checked for validity
-
expressionEditingFinished
(self)¶ when expression has been edited (finished) it will be added to the model
-
fieldChanged
¶ the signal is emitted when the currently selected field changes [signal] fieldChanged signal with indication of the validity of the expression [signal]
-
filters
(self) → QgsFieldProxyModel.Filters¶ currently used filter on list of fields
-
focusInEvent
()¶
-
focusNextChild
()¶
-
focusNextPrevChild
()¶
-
focusOutEvent
()¶
-
focusPreviousChild
()¶
-
hideEvent
()¶
-
initPainter
()¶
-
inputMethodEvent
()¶
-
isExpression
(self) → bool¶ If the content is not just a simple field this method will return true.
-
isExpressionValid
(self, expressionStr: str) → bool¶
-
isSignalConnected
()¶
-
isValidExpression
(self, expressionError: str = '') → bool¶ Returns true if the current expression is valid
-
keyPressEvent
()¶
-
keyReleaseEvent
()¶
-
layer
(self) → QgsVectorLayer¶ Returns the layer currently associated with the widget.
See also
-
leaveEvent
()¶
-
metric
()¶
-
mouseDoubleClickEvent
()¶
-
mouseMoveEvent
()¶
-
mousePressEvent
()¶
-
mouseReleaseEvent
()¶
-
moveEvent
()¶
-
nativeEvent
()¶
-
paintEvent
()¶
-
receivers
()¶
-
registerExpressionContextGenerator
(self, generator: QgsExpressionContextGenerator)¶ Register an expression context generator class that will be used to retrieve an expression context for the widget.
Parameters: generator – A QgsExpressionContextGenerator class that will be used to create an expression context when required. New in version 3.0.
-
resizeEvent
()¶
-
sender
()¶
-
senderSignalIndex
()¶
-
setAllowEvalErrors
(self, allowEvalErrors: bool)¶ Allow accepting expressions with evaluation errors. This can be useful when we are not able to provide an expression context of which we are sure it’s completely populated.
New in version 3.0.
-
setExpression
(self, expression: str)¶ Sets the current expression text and if applicable also the field. Alias for setField.
New in version 3.0.
-
setExpressionDialogTitle
(self, title: str)¶ define the title used in the expression dialog
-
setField
(self, fieldName: str)¶ sets the current field or expression in the widget
-
setFilters
(self, filters: Union[QgsFieldProxyModel.Filters, QgsFieldProxyModel.Filter])¶ setFilters allows fitering according to the type of field
-
setGeomCalculator
(self, da: QgsDistanceArea)¶ Sets the geometry calculator used in the expression dialog
-
setLayer
(self, layer: QgsMapLayer)¶ Sets the layer used to display the fields and expression.
See also
-
setLeftHandButtonStyle
(self, isLeft: bool)¶
-
setRow
(self, row: int)¶ sets the current row in the widget
-
showEvent
()¶
-
tabletEvent
()¶
-
timerEvent
()¶
-
updateLineEditStyle
(self, expression: str = '')¶ updateLineEditStyle will re-style (color/font) the line edit depending on content and status
Parameters: expression – if expression is given it will be evaluated for the given string, otherwise it takes current expression from the model
-
updateMicroFocus
()¶
-
wheelEvent
()¶
-