• 5981阅读
  • 3回复

关于QGraphicsView上获取QGraphicsScene坐标的问题 [复制链接]

上一主题 下一主题
离线eric584930
 

只看楼主 倒序阅读 楼主  发表于: 2013-11-21
— 本帖被 toby520 从 网站公告 移动到本区(2013-11-21) —
一、通过QGraphicsView::mousePressEvent(QMouseEvent *event )获取鼠标的坐标event ->pos(),然后利用mapToScene(event ->pos)取得鼠标在QGraphicsScene上的坐标,在没有view进行任何缩放的时,得到的坐标是对的,但是如果对view进行缩放后得到的就不对。
二、通过QGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent *event)获取鼠标在QGraphicsScene的坐标event->scenePos(),不管有没有缩放都是对的。
问题:请问【情况一】的问题出在哪儿?我现在需要通过【一】来获得对应scene上的坐标。


生活就是这样
离线彩阳

只看该作者 1楼 发表于: 2013-11-21
可能是缩放了,像素和scene不能一一对应吧。如果这样,我会选择第二种方法。
上海Qt开发联盟,热忱地欢迎你的加入!
离线lclflash

只看该作者 2楼 发表于: 2013-11-21
你需要先把view的当前矩阵求逆,然后再 maptoscene就可以了
离线ruanjian

只看该作者 3楼 发表于: 2021-02-19
我想问一下,我的鼠标事件为什么在QGraphicsView空白框里面可以响应,而在QGraphicsView中加入QGraphicsScene之后就无响应了呢?
快速回复
限100 字节
 
上一个 下一个