GraphicsView放了一张地图
设置了setDragMode(QGraphicsView::ScrollHandDrag); (就是能直接用鼠标拖动View里地图的各个方向)
然后我要测距离,需要有个单击事件画点
我是用pressEvent 里(QTime)time.start()
然后在releaseEvent里 time.elaspe() <200 这样算一次单击
但是现在有个问题,我单击完了之后,好像鼠标按键没松开一样,地图会随着鼠标移动(本来要按下才会这样的)
其实和GOOGLE EARTH里测距离方式一样的,GE也是QT写的吧 不知道怎么弄的
//
void mapView::mousePressEvent(QMouseEvent *event)
{
time.start();
QGraphicsView::mousePressEvent(event);
}
void mapView::mouseReleaseEvent(QMouseEvent *event)
{
if(time.elapsed()<200)
{......
}
QGraphicsView::mousePressEvent(event);
}
另外还有个
void mapView::mouseMoveEvent(QMouseEvent *event)
{XXX
QGraphicsView::mouseMoveEvent(event);
}
就用mouseMove 和mousePress得时候没问题,加了个release才出现的