QGraphicsObject Class
QGraphicsObject 类为所有需要信号、插槽和属性的图形项目提供了一个基类。更多
头文件: | #include <QGraphicsObject> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
继承: | QObject 和QGraphicsItem |
继承于 |
属性
公共功能
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 |
受保护插槽
void | updateMicroFocus() |
详细说明
该类使用QObject 的信号/插槽和属性机制扩展了QGraphicsItem 。它将QGraphicsItem 的许多基本设置器和获取器映射到属性,并为其中许多属性添加了通知信号。
父对象和子对象
每个图形对象都可以与父项一起构建。这可确保在父项被销毁时,子项也将被销毁。虽然 QGraphicsObject 继承自QObject 和QGraphicsItem ,但您应使用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 信号:
void | enabledChanged() |
另请参阅 QGraphicsItem::isEnabled() 和QGraphicsItem::setEnabled() 。
opacity : const qreal
此属性表示项目的不透明度
Notifier 信号的不透明度:
void | opacityChanged() |
另请参阅 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 度(即完全不旋转)。
通知信号:
void | rotationChanged() |
scale : const qreal
此属性表示项目的比例。
比例小于 1 表示项目显示的尺寸比正常尺寸小,比例大于 1 表示项目显示的尺寸比正常尺寸大。负缩放比例表示项目将被镜像显示。
默认情况下,项目的显示比例为 1(即正常大小)。
缩放比例来自项目的 transformOrigin。
通知信号
void | scaleChanged() |
transformOriginPoint : const QPointF
此属性保存变换原点
此属性将项目坐标系中的一个特定点设置为缩放和旋转的原点。
另请参阅 scale,rotation, 和QGraphicsItem::transformOriginPoint() 。
visible : const bool
此属性表示项目是否可见
该属性在QGraphicsItem 中声明。
默认情况下,该属性为true
。
Notifier 信号:
void | visibleChanged() |
另请参阅 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.