QGraphicsView *view=new QGraphicsView(scene);
时间: 2023-10-29 14:18:23 浏览: 18
这段代码是用来创建一个名为view的QGraphicsView对象,并将一个已经存在的名为scene的QGraphicsScene对象作为参数传入。QGraphicsView是用来显示QGraphicsScene中的内容的,通过QGraphicsView可以进行缩放、平移等操作,使得内容在视图窗口中能够以合适的大小和位置展示。
相关问题
QGraphicsView* view = new QGraphicsView(this); QGraphicsScene* scene = new QGraphicsScene(this);使用这两个时,左上角会多一个小图
这个小图是 QGraphicsView 的默认背景,它通常用于显示场景区域的边框。如果你不希望显示这个小图,可以通过以下两种方式之一来禁用它:
1. 在创建 QGraphicsView 对象时,通过以下代码禁用默认背景:
```cpp
QGraphicsView* view = new QGraphicsView(this);
view->setBackgroundBrush(Qt::NoBrush);
```
2. 在设置场景时,通过以下代码设置场景的背景为透明色:
```cpp
QGraphicsScene* scene = new QGraphicsScene(this);
scene->setBackgroundBrush(Qt::transparent);
QGraphicsView* view = new QGraphicsView(scene, this);
```
这样就可以禁用默认背景,让视图区域完全透明。
QGraphicsView* view = new QGraphicsView(this); QGraphicsScene* scene = new QGraphicsScene(this);在.h文件中使用这两个时,左上角会多一个缩略小图
这个缩略图是 QGraphicsView 的默认行为,它显示了场景中的完整视图,并且可以用鼠标拖动来改变视图。如果你不想要这个缩略图,可以通过以下两种方式之一来禁用它:
1. 在创建 QGraphicsView 对象时将 showScrollBars 参数设置为 false:
```
QGraphicsView* view = new QGraphicsView(this);
view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
```
2. 在构造函数中设置 QGraphicsView 的属性:
```
QGraphicsView* view = new QGraphicsView(this);
view->setRenderHint(QPainter::Antialiasing);
view->setInteractive(true);
view->setScene(scene);
view->setDragMode(QGraphicsView::ScrollHandDrag);
view->setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
view->setOptimizationFlag(QGraphicsView::DontAdjustForAntialiasing, true);
view->setOptimizationFlag(QGraphicsView::DontSavePainterState, true);
view->setOptimizationFlag(QGraphicsView::DontAdjustSceneRect, true);
view->setOptimizationFlag(QGraphicsView::IndirectPainting, true);
```