1

我有一个项目是其他一些项目的父项。它不是一个组,实际上这个项目绘制了一条三次贝塞尔曲线,孩子们是它的控制点。

问题是移动子项会导致几何变化,所以我应该在移动子项时调用父项prepareGeometryChange(),但该方法受到保护。

这只是一个例子,总的来说,我正在寻求答案的问题是:

当 aQGraphicsItem具有依赖于其子级的几何图形,并且子级可以通过用户交互移动时,我该如何使用prepareGeometryChange()

有必要调用吗?以这种方式构建物品并为此目的使用孩子是错误的吗?

4

1 回答 1

1

我自己记得同样的问题,我重新实现了

QGraphicsItem::itemChange(GraphicsItemChange change, const QVariant & value)

为孩子和父母。

当每个changeQGraphicsItem::ItemPositionChange那个孩子发出一个信号时,父母有一个相应的插槽。

于 2013-03-05T12:56:01.233 回答