• 6249阅读
  • 2回复

GraphicsView里鼠标单击的问题 [复制链接]

上一主题 下一主题
离线北落师门
 
只看楼主 倒序阅读 楼主  发表于: 2009-10-16
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
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才出现的
离线北落师门
只看该作者 1楼 发表于: 2009-10-16
..怎么没人回答啊
那单击事件 除了用press 和release一起用 还有什么办法?QT 里没单击事件真不方便
离线hellogritty

只看该作者 2楼 发表于: 2009-10-17
QT4的diagramscene demo里有例子
快速回复
限100 字节
 
上一个 下一个