QGraphicsScene中如果通过itemAt() 获取QGraphicsLineItem?

其他的QGraphicsItem都可以通过以下代码获取

只有QGraphicsLineItem无法通过itemAt()获取带指针,但是点击是可以有虚线状态的,就是获取不到其指针

QTransform transform;
QGraphicsPolygonItem* olygonItem = static_cast<QGraphicsPolygonItem*>(this->itemAt(mouseEvent->scenePos(), transform));
QGraphicsRectItem* rectItem = static_cast<QGraphicsRectItem*>(this->itemAt(mouseEvent->scenePos(), transform));
//这是lineItem的绘制
QPen pen(Qt::black, 2, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin);
QGraphicsLineItem* lineItem = new QGraphicsLineItem;
lineItem ->setPen(pen);
lineItem ->setLine(QLine(initPoint, initPoint));
//this是当前的QGraphicsScene
this->addItem(lineItem );
//只有获取不到,后去的指针为空
QGraphicsLineItem* lineItem_pos = static_cast<QGraphicsLineItem*>(this->itemAt(mouseEvent->scenePos(), transform));

 

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^