QGraphicsView* view = new QGraphicsView(this); QGraphicsScene* scene = new QGraphicsScene(this);在.h文件中使用这两个时,左上角会多一个缩略小图
时间: 2023-08-26 19:10:25 浏览: 77
这个缩略小图是 QGraphicsView 的默认行为,它用来显示整个场景的缩略图。如果你不想显示这个缩略图,可以通过以下两种方法解决:
方法一:在构造函数中设置
在构造函数中添加以下代码:
```
view->setViewport(new QOpenGLWidget);
view->setOptimizationFlag(QGraphicsView::DontAdjustForAntialiasing, true);
view->setRenderHint(QPainter::Antialiasing, false);
view->setRenderHint(QPainter::SmoothPixmapTransform, false);
view->setDragMode(QGraphicsView::ScrollHandDrag);
view->setOptimizationFlag(QGraphicsView::DontSavePainterState, true);
```
这些设置可以关闭缩略图,并且可以提高绘制效率。
方法二:在显示前设置
在显示前,添加以下代码:
```
view->setScene(scene);
view->setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
view->setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
view->setDragMode(QGraphicsView::ScrollHandDrag);
view->setOptimizationFlag(QGraphicsView::DontAdjustForAntialiasing, true);
view->setOptimizationFlag(QGraphicsView::DontSavePainterState, true);
```
这些设置同样可以关闭缩略图,并且可以提高绘制效率。
阅读全文