本页内容

QGraphicsObject Class

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

头文件: #include <QGraphicsObject>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
继承自:QObject 以及QGraphicsItem
被继承者:

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

受保护的插槽

详细说明

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

父类与子类

每个图形对象在构造时均可指定父项。这确保了当父项被销毁时,该对象也会随之被销毁。尽管 QGraphicsObject 同时继承自QObject 和QGraphicsItem ,但您应使用QGraphicsItem 提供的函数(而非 QObject 提供的函数)来管理父项与子项之间的关系。

可通过parentItem() 和childItems() 函数探索项目之间的关系。在场景中的项目层次结构中,parentObject() 和parentWidget() 函数相当于QWidget 子类中的QWidget::parent() 和QWidget::parentWidget() 函数。

另请参阅 QGraphicsWidget 。

属性文档

effect : QGraphicsEffect*

该属性保存了附加到该项上的效果

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

enabled : bool

该属性与该项目是否已启用无关

该属性在QGraphicsItem 中声明。

默认情况下,该属性的值为true 。

通知器信号:

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

opacity : qreal

该属性用于设置项的不透明度

通知器信号:

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

parent : QGraphicsObject*

该属性存储该项的父项

注意:该项 的父项设置与QObject::parent() 返回的父对象是独立的。

通知器信号:

void parentChanged()

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

pos : QPointF

该属性存储了该项的位置

描述了项的位置。

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

rotation : qreal

该属性存储了项的旋转角度(单位为度)。

该属性指定项目围绕其变换原点(transformOrigin)旋转的度数。默认旋转角度为 0 度(即完全不旋转)。

通知器信号:

scale : qreal

该属性用于设置项目的缩放比例。

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

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

缩放以项的 transformOrigin 为基准。

通知信号:

void scaleChanged()

transformOriginPoint : QPointF

该属性用于指定变换原点

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

另请参阅 scale 、rotation 以及QGraphicsItem::transformOriginPoint()。

visible : bool

该属性与项目是否可见无关

该属性在QGraphicsItem 中被声明。

默认情况下,该属性值为true 。

通知信号:

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

x : qreal

该属性存储了项目的 x 坐标

描述了项的 x 坐标。

通知信号:

void xChanged()

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

y : qreal

该属性存储了项目的 y 坐标

描述了项的 y 坐标。

通知信号:

void yChanged()

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

z : 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 的Notifier 信号。

另请参阅 isEnabled()。

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

重写了:QObject::event(QEvent *e)。

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

将图形对象订阅到指定的gesture ,并设置具体的flags 。

另请参阅 ungrabGesture()和QGestureEvent 。

[signal] void QGraphicsObject::opacityChanged()

每当项的不透明度发生变化时,都会触发此信号

注意: 这是属性opacity的通知器 信号。

另请参阅 QGraphicsItem::opacity()。

[signal] void QGraphicsObject::parentChanged()

每当该项的父项发生变化时,都会触发此信号

注意: 这是属性 `parent`的通知器 信号。

[signal] void QGraphicsObject::rotationChanged()

每当项的旋转发生变化时,都会发出此信号。

注意: 这是属性rotation的通知器 信号。

[signal] void QGraphicsObject::scaleChanged()

当项的刻度发生变化时,会触发此信号。

注意: 这是属性scale 的Notifier 信号。

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

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

另请参阅 grabGesture() 和QGestureEvent 。

[protected slot] void QGraphicsObject::updateMicroFocus()

更新该物品的微聚焦。此插槽仅为方便起见。

另请参阅 QInputMethod 。

[signal] void QGraphicsObject::visibleChanged()

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

注意: 这是属性visible 的Notifier 信号。

另请参阅 visible 。

[signal] void QGraphicsObject::xChanged()

每当项目的 x 坐标发生变化时,都会触发此信号

注意: 这是属性x的通知器 信号。

另请参阅 pos()。

[signal] void QGraphicsObject::yChanged()

每当项的 y 坐标发生变化时,都会触发此信号。

注意: 这是属性y的通知器 信号。

另请参阅 pos()。

[signal] void QGraphicsObject::zChanged()

每当该项的 z 值发生变化时,都会触发此信号。

注意: 这是属性 `z`的通知器 信号。

另请参阅 pos()。

© 2026 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.