在Qt Graphics View框架中,主要有三种对象:场景(scene)、视图(view)、图元(item);

场景(scene)存储了图形数据,它通过视图(view)以多种形式表现出来,每个图元(item)可以单独进行控制。

Graphics View框架是Qt4.2引入的。我一开始学习就是从Qt4着手的。所以之前是什么,我就不了解了。

Graphics View框架中包括三个主要的类:QGaphicsScene、QGraphicsView、QGraphItem,分别是场景、视图和图元。

 

QGaphicsScene场景类的功能:

提供管理大量图元的快速接口;

传播事件给场景中的每个图元;

管理图元状态,如选择和焦点处理;

提供无变换的绘制功能,如打印;

 

QGraphicsView是视图窗口部件,它使场景内容可视化,可以连接几个视图到一个场景也可以为相同的数据集提供不同的视图。视图接收键盘和鼠标的输入事件,并把它翻译为场景事件。

 

QGraphItem是图元基类具有的功能:

处理鼠标按下、移动、释放、双击、悬停、滚轮和右键菜单事件;

处理键盘输入事件;

处理拖放事件;

分组

碰撞检测;

 

Graphics View框架中的三个有效的坐标系统:图元坐标、视图坐标、场景坐标

1.图元坐标

图元使用自己的本地坐标,这个坐标系统通常以图元中心为原点,这也是所有变换的原点。图元坐标方向是X轴正方向向右,Y轴正方向向下。创建图元后,只需要注意图元坐标就可以了,QGaphicsScene、QGraphicsView会完成所有的变换。

2.视图坐标

视图坐标是窗口不见的坐标,单位是像素,左上角是(0,0),坐标方向是X轴正方向向右,Y轴正方向向下。所有的鼠标事件最开始都是使用视图坐标。

3.场景坐标

场景坐标是所有图元的基础坐标系统。坐标方向是X轴正方向向右,Y轴正方向向下。

 

posted on 2015-08-13 17:08  深蓝工作室  阅读(4323)  评论(0编辑  收藏  举报