QT - SvgDisplayWidget - по какому идентификатору щелкнули? - PullRequest
0 голосов
/ 01 сентября 2010

У меня есть графический интерфейс, который показывает файл .svg.Когда пользователь щелкает (или лучше, когда не нажимает), вызывается mouseReleaseEvent.

Как узнать, на каком конкретно SVG-изображении (идентификаторе) был нажат?Использование здесь:

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

Спасибо

Ответы [ 2 ]

1 голос
/ 01 сентября 2010

Я не понимаю вопроса.Вы знаете, какой виджет получил событие в своей функции mouseReleaseEvent, потому что это тот же виджет, где выполняется этот код.Оттуда вы можете получить доступ ко всем данным в реализации этого виджета, и вам нужно выяснить, к какому SVG-изображению он относится.

0 голосов
/ 01 сентября 2010

Вы можете получить самый верхний QGraphicsItem в заданной позиции, используя метод QGraphicsView :: itemAt. * ​​1001 *

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

  }
  QGraphicsView::mouseMoveEvent(event);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...