QT - SvgDisplayWidget - 点击了哪个ID?

时间:2010-09-01 10:05:22

标签: qt svg

我有一个显示.svg文件的gui。当用户点击(或取消点击时更好),将调用mouseReleaseEvent。

如何找出特定的SVG图像(ID)?

我想在这里使用:

void SvgDisplayWidget::mouseReleaseEvent(QMouseEvent *event) {}

由于

2 个答案:

答案 0 :(得分:1)

我不明白这个问题。您知道哪个窗口小部件在其mouseReleaseEvent函数中收到了该事件,因为它与执行该代码的窗口小部件相同。从那里,您可以访问该小部件实现中的所有数据,由您来确定它映射到哪个SVG图像。

答案 1 :(得分:0)

您可以使用QGraphicsView :: itemAt方法检索给定位置的最顶层QGraphicsItem。

void SvgView::mouseMoveEvent( QMouseEvent * event ){
  QGraphicsItem* it = itemAt(event->pos());
  if(it){

  }
  QGraphicsView::mouseMoveEvent(event);
}