可以让QGraphicsScene自动适应QGraphicsView的大小吗

2025年03月01日 07:10
有2个网友回答
网友(1):

使用了这个框架似乎就注定了与坐标变换的永久奋斗……
你是希望让图片始终充满窗口,所以我想你可能需要对这个图片或者scene的可视区域进行缩放
缩放的因子我觉得可以通过图片大小与可视区域大小相比来获得
addPixmap应该会返回一个item吧……?如果有的话对这个item调用setScale()应该就行了。不过在此之前可能需要对item进行setTransformOriginPoint(),让item的缩放以他的某个中心进行

你可以看看这个讨论:http://www.qtcn.org/bbs/read-htm-tid-56439.html

网友(2):

view有个setSceneRect(),scene有个itemsBoundingRect()
如果是想找到当前view的显示区域是scene的什么地方的话,可以考虑view.mapToScene(view.viewport()->rect())
如果想把这个区域转换到item的坐标系中的话,可以考虑item.mapFromScene()
或者用变量来保存宽高