要使QGraphicsScene在设置不同大小的图像时,view不会太小,可以使用以下方法:

  1. 在设置图像之前,先获取视图的当前大小,可以使用QGraphicsView的size()函数来获取视图的当前大小。

  2. 在设置图像之前,使用QGraphicsScene的setSceneRect()函数设置场景的大小。可以根据视图的大小来设置场景的大小,以确保图像不会使视图太小。例如,可以使用视图的宽度和高度来设置场景的大小,如下所示:

QSize viewSize = view->size();
scene->setSceneRect(0, 0, viewSize.width(), viewSize.height());
  1. 在设置图像时,可以使用QGraphicsPixmapItem的setScale()函数来缩放图像的大小。可以根据图像的大小和视图的大小来计算缩放比例,以确保图像适合视图。例如,可以使用视图的宽度和高度与图像的宽度和高度的比例来计算缩放比例,如下所示:
QSize imageSize = pixmapItem->pixmap().size();
float scale = qMin(viewSize.width() / imageSize.width(), viewSize.height() / imageSize.height());
pixmapItem->setScale(scale);
  1. 在调整图像大小后,可以使用QGraphicsView的fitInView()函数来将图像调整为适合视图的大小。可以将图像的边界矩形作为参数传递给fitInView()函数,以确保图像填充整个视图。例如,可以使用图像的边界矩形来调整图像的大小,如下所示:
QRectF bounds = pixmapItem->boundingRect();
view->fitInView(bounds, Qt::KeepAspectRatio);

通过以上步骤,可以确保当设置不同大小的图像时,QGraphicsScene的视图不会太小

QGraphicsPixmapItem设置不同大小的图像时 QGraphicsScene需要怎么设置 view也不会太小

原文地址: http://www.cveoy.top/t/topic/iC1k 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录