图形视图框架
- 功能:管理数量庞大的自定义2D图形项
- 组成:视图(QGraphicsView)+场景(QGraphicsScene)+图形项(QGraphicsItem)
视图(QGraphicsView)
- 功能:使场景中的内容可视化,可以连接多个视图到同一个场景来为相同的数据集提供多个视口。视图部件是可滚动的区域。
- setDragMode()函数设置拖拽模式:QGraphicsView::ScrollHandDrag使光标变成手掌形状,从而可以拖动场景;QGraphicsView::RubberBandDrag使用鼠标拖出橡皮筋框来选择图形项
- 默认提供一个QWidget作为视图部件,QGraphicsView.setViewport()设置视图,当定义多个视图对象时,调用show()函数会出现多个widget窗口。
- 创建对象,把场景作为父窗口,用setxxx()函数设置一系列的属性
QgraphicsView view(&scene);
view.setForegroundBrush(QColor); //设置场景的前景色,类似于遮罩
view.setBackgroundBrush(QPixmap); //设置场景的背景图片
view.resize(); //视图的大小
用QGraphicsView设置前景和背景时,只对当前视图有效,而用QGraphicsScene进行设置时,对所有在该场景中的视图都有效。
场景(QGraphicsScene)
- 功能:图形项QGraphicsItem对象的容器,可以调用QGraphicsScene::a