• 7008阅读
  • 2回复

QGraphicsview 滚动条不能自适应【已解决】 [复制链接]

上一主题 下一主题
离线xlqwe
 

只看楼主 倒序阅读 楼主  发表于: 2012-08-23
最近在用QGraphicsView图片缩放,遇到问题,找了很久没找到解决办法
我使用QGraphicsPixmapItem的setPixmap来跟换图片,但是更换图片以后滚动区域没有适应图片的大小,比如原来是个很大的图片,滚动区域很大,切换一个小图片后,滚动区域还是很大,导致图片显示位置不正确,找了很久没有找到相应的接口解决这个问题,不知道哪位知道怎么解决
有没有像QScrollArea中setWidgetResizable ( bool resizable )之类的函数
离线xlqwe

只看该作者 1楼 发表于: 2012-08-23
终于被我搞定了,跟大家分享下
滚动区域的问题是由QGraphicsScene的大小引起的,设置QGraphicsPixmapItem时,QGraphicsScene会将大小设置为与图片一样大,但是更换图片后,QGraphicsScene的大小未改变,所以将滚动区域撑大了
  现在只要在每次设置更换图片时
          QSize photoSize = photo.size();
    view->setSceneRect(0, 0, photoSize.width(), photoSize.height());
    view->setAlignment(Qt::AlignCenter);
就解决了~
离线yfx2003

只看该作者 2楼 发表于: 2012-09-28
这两天看书中,在 QGraphicsScene 类的说明中有个note,注意并仔细看看即可
www.qtcn.org/gpq4/
ajaxref.okajax.com/
快速回复
限100 字节
 
上一个 下一个