Class: QgsModelComponentGraphicItem

Base class for graphic items representing model components in the model designer.

Warning

Not stable API

Added in version 3.14.

Class Hierarchy

Inheritance diagram of qgis.gui.QgsModelComponentGraphicItem

Base classes

QGraphicsObject

QObject

QGraphicsItem

Subclasses

QgsModelChildAlgorithmGraphicItem

A graphic item representing a child algorithm in the model designer.

QgsModelCommentGraphicItem

A graphic item representing a model comment in the model designer.

QgsModelGroupBoxGraphicItem

A graphic item representing a group box in the model designer.

QgsModelOutputGraphicItem

A graphic item representing a model output in the model designer.

QgsModelParameterGraphicItem

A graphic item representing a model parameter (input) in the model designer.

class qgis.gui.QgsModelComponentGraphicItem[source]

Bases: QGraphicsObject

__init__(component: QgsProcessingModelComponent | None, model: QgsProcessingModelAlgorithm | None, parent: QGraphicsItem | None)

Constructor for QgsModelComponentGraphicItem for the specified component, with the specified parent item.

The model argument specifies the associated processing model. Ownership of model is not transferred, and it must exist for the lifetime of this object.

Ownership of component is transferred to the item.

Parameters:
class Flag

Bases: int

class Flags
class Flags(f: QgsModelComponentGraphicItem.Flags | QgsModelComponentGraphicItem.Flag)
class Flags(a0: QgsModelComponentGraphicItem.Flags)

Bases: object

Hover = 2
Normal = 0
Selected = 1
class State

Bases: int

Unused = 1
signal aboutToChange[source]

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

calculateAutomaticLinkPoint(self, other: QgsModelComponentGraphicItem | None)[source]

Returns the best link point to use for a link originating at a specified other item.

Parameters:

other (Optional[QgsModelComponentGraphicItem]) -> (QPointF) – item at other end of link

Returns:

  • calculated link point in item coordinates.

  • edge: item edge for calculated best link point

calculateAutomaticLinkPoint(self, point: Union[QPointF, QPoint]) -> (QPointF, Qt.Edge) Returns the best link point to use for a link originating at a specified other point.

Parameters:

other – point for other end of link (in scene coordinates)

Returns:

  • calculated link point in item coordinates.

  • edge: item edge for calculated best link point

canDeleteComponent(self) bool[source]

Returns True if the component can be deleted.

Return type:

bool

signal changed[source]

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

component(self) QgsProcessingModelComponent | None[source]

Returns the model component associated with this item.

Return type:

Optional[QgsProcessingModelComponent]

deleteComponent(self)[source]

Called when the component should be deleted.

The default implementation does nothing.

editComment(self)[source]

Called when the comment attached to the item should be edited.

The default implementation does nothing.

editComponent(self)[source]

Called when the component should be edited.

The default implementation does nothing.

fillColor(self, state: QgsModelComponentGraphicItem.State) QColor[source]

Returns the fill color for the item for the specified state.

Parameters:

state (QgsModelComponentGraphicItem.State)

Return type:

QColor

flags(self) QgsModelComponentGraphicItem.Flags[source]

Returns item flags.

Return type:

QgsModelComponentGraphicItem.Flags

font(self) QFont[source]

Returns the font used to render text in the item.

See also

setFont()

Return type:

QFont

iconPicture(self) QPicture[source]

Returns a QPicture version of the item’s icon, if available.

Return type:

QPicture

iconPixmap(self) QPixmap[source]

Returns a QPixmap version of the item’s icon, if available.

Return type:

QPixmap

itemRect(self, storedRect: bool = False) QRectF[source]

Returns the rectangle representing the body of the item.

Parameters:

storedRect (bool = False)

Return type:

QRectF

label(self) str[source]

Returns the item’s label text.

See also

setLabel()

Return type:

str

linkPoint(self, edge: Qt.Edge, index: int, incoming: bool) QPointF[source]

Returns the location of the link point with the specified index on the specified edge.

Parameters:
  • edge (Qt.Edge)

  • index (int)

  • incoming (bool)

Return type:

QPointF

linkPointCount(self, edge: Qt.Edge) int[source]

Returns the number of link points associated with the component on the specified edge.

Parameters:

edge (Qt.Edge)

Return type:

int

linkPointText(self, edge: Qt.Edge, index: int) str[source]

Returns the text to use for the link point with the specified index on the specified edge.

Parameters:
  • edge (Qt.Edge)

  • index (int)

Return type:

str

model(self) QgsProcessingModelAlgorithm | None[source]

Returns the model associated with this item.

Return type:

Optional[QgsProcessingModelAlgorithm]

moveComponentBy(self, dx: float, dy: float)[source]

Moves the component by the specified dx and dy.

Warning

Call this method, not QGraphicsItem.moveBy!

Parameters:
  • dx (float)

  • dy (float)

previewItemMove(self, dx: float, dy: float)[source]

Shows a preview of moving the item from its stored position by dx, dy.

Parameters:
  • dx (float)

  • dy (float)

signal repaintArrows[source]

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

signal requestModelRepaint[source]

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

setFont(self, font: QFont)[source]

Sets the font used to render text in the item.

See also

font()

Parameters:

font (QFont)

setItemRect(self, rect: QRectF)[source]

Sets a new scene rect for the item.

Parameters:

rect (QRectF)

setLabel(self, label: str | None)[source]

Returns the item’s label text.

See also

label()

Parameters:

label (Optional[str])

signal sizePositionChanged[source]

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

state(self) QgsModelComponentGraphicItem.State[source]

Returns the item’s current state.

Return type:

QgsModelComponentGraphicItem.State

strokeColor(self, state: QgsModelComponentGraphicItem.State) QColor[source]

Returns the stroke color for the item for the specified state.

Parameters:

state (QgsModelComponentGraphicItem.State)

Return type:

QColor

strokeStyle(self, state: QgsModelComponentGraphicItem.State) Qt.PenStyle[source]

Returns the stroke style to use while rendering the outline of the item.

Parameters:

state (QgsModelComponentGraphicItem.State)

Return type:

Qt.PenStyle

textColor(self, state: QgsModelComponentGraphicItem.State) QColor[source]

Returns the label text color for the item for the specified state.

Parameters:

state (QgsModelComponentGraphicItem.State)

Return type:

QColor

titleAlignment(self) Qt.Alignment[source]

Returns the title alignment

Return type:

Qt.Alignment

truncatedTextForItem(self, text: str | None) str[source]

Truncates a text string so that it fits nicely within the item’s width, accounting for margins and interactive buttons.

Parameters:

text (Optional[str])

Return type:

str

signal updateArrowPaths[source]

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

updateButtonPositions(self)[source]

Updates the item’s button positions, based on the current item rect.

updateStoredComponentPosition(self, pos: QPointF | QPoint, size: QSizeF)[source]

Updates the position and size stored in the model for the associated comment

Parameters:
  • pos (Union[QPointF, QPoint])

  • size (QSizeF)

view(self) QgsModelGraphicsView | None[source]

Returns the associated view.

Return type:

Optional[QgsModelGraphicsView]