Class: QgsProcessingModelerParameterWidget

class qgis.gui.QgsProcessingModelerParameterWidget(model: QgsProcessingModelAlgorithm, childId: str, parameter: QgsProcessingParameterDefinition, context: QgsProcessingContext, parent: QWidget = None)

Bases: PyQt5.QtWidgets.QWidget, QgsExpressionContextGenerator

Constructor for QgsProcessingModelerParameterWidget, for the specified parameter definition within the given model.

The ID of the child algorithm within the model must be specified via the childId argument. This value corresponds to the QgsProcessingModelChildAlgorithm.childId() string, which uniquely identifies which child algorithm the parameter is associated with inside the given model.

A Processing context must also be specified, which allows the widget to resolve parameter values which are context dependent. The context must last for the lifetime of the widget.

A widget for customising the value of Processing algorithm parameter inside a Processing model.

The widget provides choice of the linked source for values for the parameter inside the model. E.g. parameters can be a static value, an evaluated expression results, the output from another child algorithm, or an input parameter for the model itself.

Individual modeler parameter widgets are not usually created directly, instead they are constructed through the central registry, via calls to QgsGui.processingGuiRegistry()->:py:func:~createModelerParameterWidget.

Methods

actionEvent

changeEvent

childEvent

closeEvent

connectNotify

contextMenuEvent

create

createExpressionContext

rtype

QgsExpressionContext

createLabel

Creates a label for use identifying the associated parameter.

customEvent

destroy

disconnectNotify

dragEnterEvent

dragLeaveEvent

dragMoveEvent

dropEvent

enterEvent

event

focusInEvent

focusNextChild

focusNextPrevChild

focusOutEvent

focusPreviousChild

hideEvent

initPainter

inputMethodEvent

isModelOutput

Returns True if the widget is set to the model output mode.

isSignalConnected

keyPressEvent

keyReleaseEvent

leaveEvent

metric

modelOutputName

Returns the model output name, if isModelOutput() is True.

mouseDoubleClickEvent

mouseMoveEvent

mousePressEvent

mouseReleaseEvent

moveEvent

nativeEvent

paintEvent

parameterDefinition

Returns the parameter definition associated with this wrapper.

populateSources

Populates the widget with available sources for the parameter’s value, e.g.

receivers

registerProcessingContextGenerator

Registers a Processing context generator class that will be used to retrieve a Processing context for the widget when required.

resizeEvent

sender

senderSignalIndex

setDialog

Sets the parent dialog in which the widget is shown.

setExpressionHelpText

Set the expected expression format text, which is shown in the expression builder dialog for the widget when in the “pre-calculated” expression mode.

setToModelOutput

Sets the widget to a model output, for destination parameters only.

setWidgetContext

Sets the context in which the modeler parameter widget is shown, e.g., the parent model algorithm and other relevant information which allows the widget to fine-tune its behavior.

setWidgetValue

Sets the current value for the parameter.

sharedPainter

showEvent

tabletEvent

timerEvent

updateMicroFocus

value

Returns the current value of the parameter.

wheelEvent

actionEvent(self, QActionEvent)
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)
createExpressionContext(self)QgsExpressionContext
Return type

QgsExpressionContext

createLabel(self)QLabel

Creates a label for use identifying the associated parameter.

The caller takes ownership of the returned value.

Return type

QLabel

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)
event(self, QEvent)bool
focusInEvent(self, QFocusEvent)
focusNextChild(self)bool
focusNextPrevChild(self, bool)bool
focusOutEvent(self, QFocusEvent)
focusPreviousChild(self)bool
hideEvent(self, QHideEvent)
initPainter(self, QPainter)
inputMethodEvent(self, QInputMethodEvent)
isModelOutput(self)bool

Returns True if the widget is set to the model output mode.

New in version 3.14.

Return type

bool

isSignalConnected(self, QMetaMethod)bool
keyPressEvent(self, QKeyEvent)
keyReleaseEvent(self, QKeyEvent)
leaveEvent(self, QEvent)
metric(self, QPaintDevice.PaintDeviceMetric)int
modelOutputName(self)str

Returns the model output name, if isModelOutput() is True.

See also

isModelOutput()

New in version 3.14.

Return type

str

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)
parameterDefinition(self)QgsProcessingParameterDefinition

Returns the parameter definition associated with this wrapper.

Return type

QgsProcessingParameterDefinition

populateSources(self, compatibleParameterTypes: Iterable[str], compatibleOutputTypes: Iterable[str], compatibleDataTypes: Iterable[int])

Populates the widget with available sources for the parameter’s value, e.g. adding the available child algorithm outputs and model input parameter choices.

In order to determine the available source, the compatibleParameterTypes and compatibleOutputTypes arguments are used. These lists correspond to the various available values for QgsProcessingParameterDefinition.type() (for compatibleParameterTypes) and the values for QgsProcessingOutputDefinition.type() (for compatibleOutputTypes).

The compatibleDataTypes list corresponds to the compatible data types from QgsProcessing.SourceType.

Parameters
  • compatibleParameterTypes (Iterable[str]) –

  • compatibleOutputTypes (Iterable[str]) –

  • compatibleDataTypes (Iterable[int]) –

receivers(self, PYQT_SIGNAL)int
registerProcessingContextGenerator(self, generator: QgsProcessingContextGenerator)

Registers a Processing context generator class that will be used to retrieve a Processing context for the widget when required.

Parameters

generator (QgsProcessingContextGenerator) –

resizeEvent(self, QResizeEvent)
sender(self)QObject
senderSignalIndex(self)int
setDialog(self, dialog: QDialog)

Sets the parent dialog in which the widget is shown.

New in version 3.8.

Parameters

dialog (QDialog) –

setExpressionHelpText(self, text: str)

Set the expected expression format text, which is shown in the expression builder dialog for the widget when in the “pre-calculated” expression mode. This is purely a text format and no expression validation is made against it.

Parameters

text (str) –

setToModelOutput(self, value: str)

Sets the widget to a model output, for destination parameters only.

See also

isModelOutput()

New in version 3.14.

Parameters

value (str) –

setWidgetContext(self, context: QgsProcessingParameterWidgetContext)

Sets the context in which the modeler parameter widget is shown, e.g., the parent model algorithm and other relevant information which allows the widget to fine-tune its behavior.

Parameters

context (QgsProcessingParameterWidgetContext) –

setWidgetValue(self, value: QgsProcessingModelChildParameterSource)

Sets the current value for the parameter.

See also

value()

setWidgetValue(self, values: Iterable[QgsProcessingModelChildParameterSource]) Sets the current values for the parameter.

See also

value()

New in version 3.14.

Parameters

value (QgsProcessingModelChildParameterSource) –

sharedPainter(self)QPainter
showEvent(self, QShowEvent)
tabletEvent(self, QTabletEvent)
timerEvent(self, QTimerEvent)
updateMicroFocus(self)
value(self)Any

Returns the current value of the parameter.

See also

setWidgetValue()

Return type

Any

wheelEvent(self, QWheelEvent)