view1->setCacheMode(QGraphicsView::CacheBackground); view1->setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate);
时间: 2024-06-07 13:07:19 浏览: 231
这两行代码是用来设置 QGraphicsView 的缓存模式和视口更新模式的。
setCacheMode() 方法用来设置 QGraphicsView 的缓存模式,它接受一个 QGraphicsView::CacheMode 类型的参数。这个参数控制着 QGraphicsView 对场景的缓存方式,从而影响绘制性能。在这里,我们把缓存模式设置为 QGraphicsView::CacheBackground,这表示 QGraphicsView 只在需要时才会重绘背景,而不是每次都重绘。
setViewportUpdateMode() 方法用来设置 QGraphicsView 的视口更新模式,它接受一个 QGraphicsView::ViewportUpdateMode 类型的参数。这个参数控制着 QGraphicsView 在什么情况下更新视口,从而影响绘制性能。在这里,我们把视口更新模式设置为 QGraphicsView::BoundingRectViewportUpdate,这表示 QGraphicsView 只在视口的边界发生变化时才会更新视口,而不是每次都更新。这样可以提高绘制性能,特别是当场景比较大时。
相关问题
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);
```
这将禁用所有优化标志,并完全禁用缩略图。
使用QGraphicsView时,每次打开左上角有个缩略图,我使用了view->setViewportUpdateMode(QGraphicsView::FullViewportUpdate);才能消除,能不能直接不让他生成
可以通过设置QGraphicsView的viewportUpdateMode属性来控制是否生成缩略图。
如果想要禁用缩略图,可以将viewportUpdateMode设置为QGraphicsView::NoViewportUpdate。
例如:
```cpp
view->setViewportUpdateMode(QGraphicsView::NoViewportUpdate);
```
这样就可以禁用缩略图了。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)