view = new QGraphicsView(ui->graphicsView); scene = new QGraphicsScene(ui->graphicsView);左上角有个缩略图怎么办
时间: 2024-01-08 16:04:32 浏览: 13
你可以通过QGraphicsView的setViewportUpdateMode()函数来设置视口更新模式,将模式设置为QGraphicsView::FullViewportUpdate即可解决缩略图的问题。
例如:
```
view = new QGraphicsView(ui->graphicsView);
view->setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
scene = new QGraphicsScene(ui->graphicsView);
```
这样就可以禁用缩略图了。
相关问题
view = new QGraphicsView(ui->graphicsView); scene = new QGraphicsScene(ui->graphicsView); view->setViewportUpdateMode(QGraphicsView::NoViewportUpdate);为什么这个在主函数里不能屏蔽缩略图
这段代码创建了一个名为`view`的`QGraphicsView`对象,以及一个名为`scene`的`QGraphicsScene`对象,并将`scene`设置为`view`的场景。`view->setViewportUpdateMode(QGraphicsView::NoViewportUpdate)`将视口更新模式设置为`QGraphicsView::NoViewportUpdate`,这意味着视口不会自动更新,需要手动调用`viewport()->update()`或`update()`函数来更新视口。
如果您想要屏蔽缩略图,可以尝试将`view`的`setViewportUpdateMode`设置为`QGraphicsView::SmartViewportUpdate`或`QGraphicsView::FullViewportUpdate`。这样可以使视口自动更新并显示所需的图形。
另外,如果您希望完全禁用缩略图,请使用以下代码:
```
view->setViewportUpdateMode(QGraphicsView::NoViewportUpdate);
view->setOptimizationFlag(QGraphicsView::DontAdjustForAntialiasing, true);
view->setOptimizationFlag(QGraphicsView::DontSavePainterState, true);
view->setOptimizationFlag(QGraphicsView::DontAdjustForContents, true);
```
这将禁用所有优化标志,并完全禁用缩略图。
smScene = new QGraphicsScene(this); smView = ui->graphicsView_2; smView->setScene(smScene);
这段代码创建了一个新的QGraphicsScene对象,将其指针分配给名为"smScene"的变量。然后,将名为"graphicsView_2"的QGraphicsView对象的指针分配给名为"smView"的变量。接下来,通过调用setScene()方法,将创建的smScene设置为smView的场景。这样做可以将smScene中的图形项显示在smView中,实现图形的显示和交互。
阅读全文