QGraphicsObject Class

QGraphicsObject 类为所有需要信号、插槽和属性的图形项目提供了一个基类。更多

头文件: #include <QGraphicsObject>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
继承:QObjectQGraphicsItem
继承于

QGraphicsSvgItem,QGraphicsTextItem, 和QGraphicsWidget

属性

公共功能

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

信号

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

重新实现的受保护函数

virtual bool event(QEvent *ev) override

受保护插槽

详细说明

该类使用QObject 的信号/插槽和属性机制扩展了QGraphicsItem 。它将QGraphicsItem 的许多基本设置器和获取器映射到属性,并为其中许多属性添加了通知信号。

父对象和子对象

每个图形对象都可以与父项一起构建。这可确保在父项被销毁时,子项也将被销毁。虽然 QGraphicsObject 继承自QObjectQGraphicsItem ,但您应使用QGraphicsItem QObject 提供的函数来管理父项和子项之间的关系。

可以使用parentItem() 和childItems() 函数探索项目之间的关系。在场景中的项目层次结构中,parentObject() 和parentWidget() 函数等同于QWidget 子类的QWidget::parent() 和QWidget::parentWidget() 函数。

另请参阅 QGraphicsWidget

属性文档

effect : QGraphicsEffect* const

此属性保存此项目所附的效果

另请参阅 QGraphicsItem::setGraphicsEffect() 和QGraphicsItem::graphicsEffect()。

enabled : const bool

此属性表示项目是否启用

该属性在QGraphicsItem 中声明。

默认情况下,该属性为true

Notifier 信号:

另请参阅 QGraphicsItem::isEnabled() 和QGraphicsItem::setEnabled() 。

opacity : const qreal

此属性表示项目的不透明度

Notifier 信号的不透明度:

另请参阅 QGraphicsItem::setOpacity() 和QGraphicsItem::opacity()。

parent : QGraphicsObject* const

该属性包含项目的父对象

注意: 项目父对象的设置与QObject::parent() 返回的父对象无关。

Notifier 信号:

void parentChanged()

另请参阅 QGraphicsItem::setParentItem() 和QGraphicsItem::parentObject()。

pos : const QPointF

此属性保存项目的位置

描述项目的位置。

另请参阅 QGraphicsItem::setPos() 和QGraphicsItem::pos()。

rotation : const qreal

此属性以度为单位保存项目的旋转角度。

它指定项目绕其 transformOrigin 旋转多少度。默认旋转角度为 0 度(即完全不旋转)。

通知信号:

scale : const qreal

此属性表示项目的比例。

比例小于 1 表示项目显示的尺寸比正常尺寸小,比例大于 1 表示项目显示的尺寸比正常尺寸大。负缩放比例表示项目将被镜像显示。

默认情况下,项目的显示比例为 1(即正常大小)。

缩放比例来自项目的 transformOrigin。

通知信号

void scaleChanged()

transformOriginPoint : const QPointF

此属性保存变换原点

此属性将项目坐标系中的一个特定点设置为缩放和旋转的原点。

另请参阅 scale,rotation, 和QGraphicsItem::transformOriginPoint() 。

visible : const bool

此属性表示项目是否可见

该属性在QGraphicsItem 中声明。

默认情况下,该属性为true

Notifier 信号:

另请参阅 QGraphicsItem::isVisible() 和QGraphicsItem::setVisible() 。

x : const qreal

此属性保存项目的 x 位置

描述项目的 x 位置。

Notifier 信号:

void xChanged()

另请参阅 QGraphicsItem::setX() 和setPos()。

y : const qreal

该属性用于保存项目的 y 位置

描述项目的 y 位置。

Notifier 信号:

void yChanged()

另请参阅 QGraphicsItem::setY() 和setPos()。

z : const qreal

该属性保存项目的 Z 值

描述项目的 Z 值。

通知信号:

void zChanged()

另请参阅 QGraphicsItem::setZValue() 和zValue() 。

成员函数文档

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

parent 构建一个 QGraphicsObject。

[virtual noexcept] QGraphicsObject::~QGraphicsObject()

毁灭者

[signal] void QGraphicsObject::enabledChanged()

每当项目启用或禁用时,都会发出该信号。

注: 用于属性enabled 的通知信号。

另请参阅 isEnabled() 。

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

重实现:QObject::event(QEvent *e)。

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

通过特定的flags 将图形对象订阅到给定的gesture

另请参阅 ungrabGesture() 和QGestureEvent

[signal] void QGraphicsObject::opacityChanged()

每当项目的不透明度发生变化时,都会发出该信号

注: 用于属性opacity 的通知信号。

另请参阅 QGraphicsItem::opacity().

[signal] void QGraphicsObject::parentChanged()

每当项目的父级发生变化时,该信号就会发出

注: 用于属性parent 的通知信号。

[signal] void QGraphicsObject::rotationChanged()

每当项目的旋转发生变化时,就会发出该信号。

注: 用于属性rotation 的通知信号。

[signal] void QGraphicsObject::scaleChanged()

当项目的缩放比例发生变化时会发出该信号。

注: 属性scale 的通知信号。

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

从给定的gesture 中取消订阅图形对象。

另请参阅 grabGesture() 和QGestureEvent

[protected slot] void QGraphicsObject::updateMicroFocus()

更新项目的微焦。这是为了方便而设置的插槽。

另请参阅 QInputMethod

[signal] void QGraphicsObject::visibleChanged()

每当项目的可见性发生变化时,都会发出该信号

注: 用于属性visible 的通知信号。

另请参见 visible

[signal] void QGraphicsObject::xChanged()

每当项目的 x 位置发生变化时,就会发出该信号

注: 用于x 属性的通知信号。

另请参见 pos().

[signal] void QGraphicsObject::yChanged()

每当项目的 Y 位置发生变化时,就会发出该信号。

注: 属性y 的通知信号。

另请参见 pos().

[signal] void QGraphicsObject::zChanged()

每当项目的 Z 值发生变化时,就会发出该信号。

注: 属性z 的通知信号。

另请参阅 pos().

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.