首页| 论坛| 消息

回复: 可以让QGraphicsScene自动适应QGraphicsView的大小吗?
#6 [luckyyoung 05-08 12:17]
我把目前写了的部分的源码打包上传到百度云了,求指导
http://pan.baidu.com/s/1jGHV38M
#7 [roywillow 05-08 20:31]
使用了这个框架似乎就注定了与坐标变换的永久奋斗……
你是希望让图片始终充满窗口,所以我想你可能需要对这个图片或者scene的可视区域进行缩放
缩放的因子我觉得可以通过图片大小与可视区域大小相比来获得
addPixmap应该会返回一个item吧……?如果有的话对这个item调用setScale()应该就行了。不过在此之前可能需要对item进行setTransformOriginPoint(),让item的缩放以他的某个中心进行
或者我记得scene还是view本身就有setScale()?或许直接调用这个会更好一些?
#8 [roywillow 05-08 20:37]
view有个setSceneRect(),scene有个itemsBoundingRect(),可能会对你有用?
如果是想找到当前view的显示区域是scene的什么地方的话,可以考虑view.mapToScene(view.viewport()->rect())
如果想把这个区域转换到item的坐标系中的话,可以考虑item.mapFromScene()
总之各种坐标转换,慢慢考虑
#9 [luckyyoung 05-08 20:50]
确实addPixmap有返回值QGraphicsPixmapItem,嗯,是个思路,我试试这几个
#10 [luckyyoung 05-09 17:20]
试了好些个办法,我还是用最笨的办法解决了。。。
既然无法获取多次缩放后,scene的大小,我就自己设置了两个变量来存储scene缩放后的长、宽。虽然笨,不过能解决问题。

<< 1 2 3 >> (2/3)

回复 发表
主题 版块