前言
在Qt的图形视图框架中,QGraphicsView
、QGraphicsScene
和QGraphicsItem
是三个核心组件,它们共同构建了一个强大的2D图形渲染和交互环境。本文将详细介绍这三个组件的基本用法、坐标系统、常用函数、信号和槽函数。
一、QGraphicsView:视图类
QGraphicsView
是用于显示QGraphicsScene
的窗口部件,它提供了缩放、平移、滚动等高级功能,使得用户可以方便地浏览复杂的场景。
基本用法:
QGraphicsView *view = new QGraphicsView;//创建视图对象
QGraphicsScene *scene = new QGraphicsScene;//创建场景对象
view->setScene(scene);//把场景对象加入到视图中去
视图坐标:
视图坐标是窗口部件的坐标,视图坐标的单位是像素,QGraphicsView的左上角是(0,0)。所有鼠标事件、拖拽事件最开始都使用视图坐标,为了和图元交互,需要转换坐标为场景坐标。
常用函数:
fitInView(QRectF, Qt::AspectRatioMode)
:调整视图以适应给定的矩形。scale(double, double)
:缩放视图。translate(double, double)
:平移视图。setViewportUpdateMode(QGraphicsView::ViewportUpdateMode)
:设置视口更新模式。