标题:可以让QGraphicsScene自动适应QGraphicsView的大小吗?
作者:luckyyoung
日期:2014-05-08 00:28
内容:
我编写了一个图片浏览的程序。大体是这样的:将单张图片通过addPixmap函数加入到QGraphicsScene的实例scene中,再将scene设为QGraphicsView的Scene。这样使用QGraphicsView的scale函数可以很方便的进行图片的缩放。这个功能已实现。
现在我想让图片加载时或在多次缩放后,能够自动根据QGraphicsView窗口的大小将图片缩放至适应大小,恰好全显示在QGraphicsView的窗口中。我试了好几个返回窗口大小的函数,其返回的大小好像都不会随着我缩放的大小而改变。比如scene->width()或者scene->height(),无论我怎么缩放,这个值好像都是不变的。无法获得多次缩放后的大小也就无法确定调整至适应大小时的缩放比。。。
不知道各位大神有什么办法帮我实现这一功能?
#1 [kimtaikee 05-08 09:09]
你试试根据QGraphicsView的viewport()试试.
#2 [dbzhang800 05-08 10:28]
QGraphicsView::fitInView() 试过了么?
#3 回 kimtaikee 的帖子 [luckyyoung 05-08 12:08]
kimtaikee:你试试根据QGraphicsView的viewport()试试.(2014-05-08 09:09)
viewport()里的width()和height()我也调用过,发现返回的也是不随缩放而改变的定值。
#4 回 dbzhang800 的帖子 [luckyyoung 05-08 12:10]
dbzhang800:QGraphicsView::fitInView() 试过了么?(2014-05-08 10:28)
看到这个函数了,但是不太会用。尤其是前面两个参数不知道是什么意思?
#5 回 dbzhang800 的帖子 [luckyyoung 05-08 12:11]
dbzhang800:QGraphicsView::fitInView() 试过了么?(2014-05-08 10:28)
void fitInView ( qreal x, qreal y, qreal w, qreal h, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio )
我试过后发现图片不居中了。