QGraphicsObject Class

The QGraphicsObject class provides a base class for all graphics items that require signals, slots and properties. More...

Header: #include <QGraphicsObject>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Inherits: QObject and QGraphicsItem
Inherited By:

QGraphicsSvgItem, QGraphicsTextItem, and QGraphicsWidget

Properties

Public Functions

QGraphicsObject(QGraphicsItem *parent = nullptr)
virtual ~QGraphicsObject()
void grabGesture(Qt::GestureType gesture, Qt::GestureFlags flags = Qt::GestureFlags())
void ungrabGesture(Qt::GestureType gesture)

Signals

void enabledChanged()
void opacityChanged()
void parentChanged()
void rotationChanged()
void scaleChanged()
void visibleChanged()
void xChanged()
void yChanged()
void zChanged()

Reimplemented Protected Functions

virtual bool event(QEvent *ev) override

Protected Slots

Detailed Description

The class extends a QGraphicsItem with QObject's signal/slot and property mechanisms. It maps many of QGraphicsItem's basic setters and getters to properties and adds notification signals for many of them.

Parents and Children

Each graphics object can be constructed with a parent item. This ensures that the item will be destroyed when its parent item is destroyed. Although QGraphicsObject inherits from both QObject and QGraphicsItem, you should use the functions provided by QGraphicsItem, not QObject, to manage the relationships between parent and child items.

The relationships between items can be explored using the parentItem() and childItems() functions. In the hierarchy of items in a scene, the parentObject() and parentWidget() functions are the equivalent of the QWidget::parent() and QWidget::parentWidget() functions for QWidget subclasses.

See also QGraphicsWidget.

Property Documentation

effect : QGraphicsEffect* const

This property holds the effect attached to this item

See also QGraphicsItem::setGraphicsEffect() and QGraphicsItem::graphicsEffect().

enabled : const bool

This property holds whether the item is enabled or not

This property is declared in QGraphicsItem.

By default, this property is true.

Notifier signal:

See also QGraphicsItem::isEnabled() and QGraphicsItem::setEnabled().

opacity : const qreal

This property holds the opacity of the item

Notifier signal:

See also QGraphicsItem::setOpacity() and QGraphicsItem::opacity().

parent : QGraphicsObject* const

This property holds the parent of the item

Note: The item's parent is set independently of the parent object returned by QObject::parent().

Notifier signal:

void parentChanged()

See also QGraphicsItem::setParentItem() and QGraphicsItem::parentObject().

pos : const QPointF

This property holds the position of the item

Describes the items position.

See also QGraphicsItem::setPos() and QGraphicsItem::pos().

rotation : const qreal

This property holds the rotation of the item in degrees.

This specifies how many degrees to rotate the item around its transformOrigin. The default rotation is 0 degrees (i.e. not rotated at all).

Notifier signal:

scale : const qreal

This property holds the scale of the item.

A scale of less than 1 means the item will be displayed smaller than normal, and a scale of greater than 1 means the item will be displayed larger than normal. A negative scale means the item will be mirrored.

By default, items are displayed at a scale of 1 (i.e. at their normal size).

Scaling is from the item's transformOrigin.

Notifier signal:

void scaleChanged()

transformOriginPoint : const QPointF

This property holds the transformation origin

This property sets a specific point in the item's coordinate system as the origin for scale and rotation.

See also scale, rotation, and QGraphicsItem::transformOriginPoint().

visible : const bool

This property holds whether the item is visible or not

This property is declared in QGraphicsItem.

By default, this property is true.

Notifier signal:

See also QGraphicsItem::isVisible() and QGraphicsItem::setVisible().

x : const qreal

This property holds the x position of the item

Describes the items x position.

Notifier signal:

void xChanged()

See also QGraphicsItem::setX() and setPos().

y : const qreal

This property holds the y position of the item

Describes the items y position.

Notifier signal:

void yChanged()

See also QGraphicsItem::setY() and setPos().

z : const qreal

This property holds the z value of the item

Describes the items z value.

Notifier signal:

void zChanged()

See also QGraphicsItem::setZValue() and zValue().

Member Function Documentation

[explicit] QGraphicsObject::QGraphicsObject(QGraphicsItem *parent = nullptr)

Constructs a QGraphicsObject with parent.

[virtual noexcept] QGraphicsObject::~QGraphicsObject()

Destructor.

[signal] void QGraphicsObject::enabledChanged()

This signal gets emitted whenever the item gets enabled or disabled.

Note: Notifier signal for property enabled.

See also isEnabled().

[override virtual protected] bool QGraphicsObject::event(QEvent *ev)

Reimplements: QObject::event(QEvent *e).

void QGraphicsObject::grabGesture(Qt::GestureType gesture, Qt::GestureFlags flags = Qt::GestureFlags())

Subscribes the graphics object to the given gesture with specific flags.

See also ungrabGesture() and QGestureEvent.

[signal] void QGraphicsObject::opacityChanged()

This signal gets emitted whenever the opacity of the item changes

Note: Notifier signal for property opacity.

See also QGraphicsItem::opacity().

[signal] void QGraphicsObject::parentChanged()

This signal gets emitted whenever the parent of the item changes

Note: Notifier signal for property parent.

[signal] void QGraphicsObject::rotationChanged()

This signal gets emitted whenever the rotation of the item changes.

Note: Notifier signal for property rotation.

[signal] void QGraphicsObject::scaleChanged()

This signal is emitted when the scale of the item changes.

Note: Notifier signal for property scale.

void QGraphicsObject::ungrabGesture(Qt::GestureType gesture)

Unsubscribes the graphics object from the given gesture.

See also grabGesture() and QGestureEvent.

[protected slot] void QGraphicsObject::updateMicroFocus()

Updates the item's micro focus. This is slot for convenience.

See also QInputMethod.

[signal] void QGraphicsObject::visibleChanged()

This signal gets emitted whenever the visibility of the item changes

Note: Notifier signal for property visible.

See also visible.

[signal] void QGraphicsObject::xChanged()

This signal gets emitted whenever the x position of the item changes

Note: Notifier signal for property x.

See also pos().

[signal] void QGraphicsObject::yChanged()

This signal gets emitted whenever the y position of the item changes.

Note: Notifier signal for property y.

See also pos().

[signal] void QGraphicsObject::zChanged()

This signal gets emitted whenever the z value of the item changes.

Note: Notifier signal for property z.

See also pos().