• 6358阅读
  • 2回复

关于获取QGraphicsRectItem的矩形 [复制链接]

上一主题 下一主题
离线wolfelee
 

只看楼主 倒序阅读 楼主  发表于: 2010-11-23
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
QGraphicsRectItem矩形在场景中的坐标使用 w = mapRectToScene(this->rect()); 获得,然后可以通过w.topLeft();等函数获取四个角的坐标

请问,我用rotate函数旋转QGraphicsRectItem后,矩形四个角的坐标我应该如何得到呢?

求高手指点
离线sbtree
只看该作者 1楼 发表于: 2010-11-23
这个问题你首先要明确你要得到的点的值是在哪个坐标系下,跟Item旋不旋转没关系,坐标变换函数会帮你处理好的:
在Item自身的坐标系下,只要通过函数调用能直接得到,例如topLeft()。
在scene坐标系下,只要利用一下变换函数即可,例如 mapToScene(topLeft())。
windows 7 + VC++2008 + Qt4.5.2
离线roywillow

只看该作者 2楼 发表于: 2010-11-23
印象中Item的pos()函数就可以返回它在父对象或者场景中的坐标
如果想获得四个角坐标,把item的rect或者其四角坐标map到scene中应该就能解决了
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个