在QGraphicsView上与固定像素大小的项目发生碰撞

时间:2015-06-29 14:16:31

标签: qt collision qgraphicsview qgraphicsitem qgraphicsscene

我使用的是Qt的GraphicsView / GraphicsScene框架,我必须绘制一些订单项。

为了确保这些项目始终可见(与缩放级别无关)我使用化妆笔,大小为3(例如),因此我总是在屏幕上绘制3像素宽的线条。

但是,当我缩小很多时,这些项目不会收到鼠标事件(例如hoverEnterEvent / hoverLeaveEvent)。

我已经深入研究了代码,似乎所有碰撞测试都是使用shape()函数的返回值完成的。

所以我试图重新实施" shape()"而且"包含()"和" collidesWithPath()"方法,但我仍然有问题检测碰撞(因为当缩放变化时,我需要重新更新形状)。

有什么窍门吗?

以有效的方式? (无需在每次缩放变化时重新更新项目的形状)

由于

0 个答案:

没有答案