2014-01-17 6 views
0

이미지를 보여주는 QGraphicsPixmapItem이있는 QGraphicsScene이 있습니다. 나는 또한 그 장면을 보여주는 견해를 가지고있다. 뷰에 마우스 클릭을 찾고있는 mousePressEvent() 함수가 정의되어 있습니다. 내가 뷰의 좌표계에서 마우스 클릭의 위치를 ​​얻을 수 있습니다QGraphicsView에서 픽셀을 마우스로 클릭하여 QGraphicsView에서 픽셀을 얻는 방법

//pixmap is a QGraphicsPixmapItem * 
view->fitInView(pixmap, Qt::KeepAspectRatio); 

:

뷰는 픽스맵을 포함하도록 설정되어

이제
//e is my QMouseEvent * 
QPoint local_pt = view->mapFromGlobal(e->globalPos()); 

나는이지도를하고 싶습니다 QGraphicsView, QGraphicsScene, QGraphicsPixmapItem의 모든 조합을 사용하여 원본 이미지 좌표를 가리 킵니다.

나는 pixmap->boundingRect()을 시도했는데, QRectF (0,0 778x582), 적절한 크기 (원래 이미지)가 있지만 x 및 y 좌표가 클릭의 로컬 포인트와 어떻게 관련되는지는 알 수 없습니다.

원래 이미지 좌표에서 마우스 클릭의 위치를 ​​얻는 방법은 무엇입니까?

편집 :

//e is my QMouseEvent * 
QPoint local_pt = view->mapFromGlobal(e->globalPos()); 
QPointF img_coord_pt = view->mapToScene(local_pt); 

img_coord_pt는 (0,0) 나는 왼쪽 상단 이미지의 모서리, 그리고 (이미지 너비를 클릭, 이미지 높이를 :

이 궁극적으로 일 것입니다)를 오른쪽 하단 모서리에 놓습니다.

답변