橘猫掸子 2021-06-02 18:19 采纳率: 28.6%
浏览 481

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));
  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-07 17:49
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

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

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料