qt学习笔记--图形视图框架

qt学习笔记--图形视图框架

ID:22684363

大小:136.51 KB

页数:33页

时间:2018-10-30

qt学习笔记--图形视图框架_第1页
qt学习笔记--图形视图框架_第2页
qt学习笔记--图形视图框架_第3页
qt学习笔记--图形视图框架_第4页
qt学习笔记--图形视图框架_第5页
资源描述:

《qt学习笔记--图形视图框架》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Qt学习笔记--图形视图框架(一)2010-07-1107:40优点:处理多个图元,单击,拖动,选择图元架构:一个场景,多个图元位于其中,通过视图显示主要应用:绘图软件,显示地图软件当使用没有变换的视图观察场景时,场景中的一个单元对应屏幕上的一个像素图元坐标通常以图元中心为原点,X轴正方向为向右,Y轴正方向为向下场景坐标的原点在场景中心,X轴正方向为向右,Y轴正方向为向下视图坐标以左上角为原点,X轴正方向为向右,Y轴正方向为向下所有的鼠标事件最开始都是使用视图坐标场景:图元的容器1.提供管理很多图元的接口2.传播事件到图元中3.管理图元状态,例如选择和焦点处理4.提供非转

2、换的绘制功能,主要用于打印QGraphicsScenescene;QGraphicsRectItem*rect=scene.addRect(QRectF(0,0,100,100));//添加图元QGraphicsItem*item=scene.itemAt(50,50);//查询图元//item==rect;通过QGraphicsScene::setSelectionArea()可以选择场景的任一个图元,QGraphicsScene::setSelectedItems()返回被选择的图元设置焦点图元QGraphicsScene::setFocusItem(),setFoc

3、us(),QGraphicsScene::focusItem(),返回焦点图元视图:一个可视的子部件,可视化场景的内容多个视图可以显示同一个场景坐标转换:QGraphicsView::mapToScene(),QGraphicsView::mapFromScene()图元:支持鼠标事件,滚轮事件,上下文菜单事件支持键盘输入焦点,按键事件支持拖放支持分组冲突探测提供坐标转换,图元与场景,图元与图元之间利用QGraphicsItem::shape()和QGraphicsItem::collidesWith()实现冲突探测,这2个函数都是虚函数相关类:QGraphicsScen

4、e,QGraphicsItem,QGraphicsViewQGraphicsItem子类:QGraphicsEllipseItemprovidesanellipseitemQGraphicsLineItemprovidesalineitemQGraphicsPathItemprovidesanarbitrarypathitemQGraphicsPixmapItemprovidesapixmapitemQGraphicsPolygonItemprovidesapolygonitemQGraphicsRectItemprovidesarectangularitemQGraph

5、icsSimpleTextItemprovidesasimpletextlabelitemQGraphicsTextItemprovidesanadvancedtextbrowseritemQGraphicsSvgItemprovidesaSVGfileitemQGraphicsScene:拥有多个图元,包含三层:背景层,图元层,前景层背景层和前景层可以使用QBrush绘制,也可以使用drawBackground(),drawForeground()实现如果使用图片作为背景,可以用textureQBrush(pixmap)实现前景层brush可以使用半透明的白色实现褪色效

6、果,或者使用交叉模式实现网格重叠场景可以告诉我们,哪些图元发生冲突,哪些图元被选择,哪些图元位于一个特定的点或者区域每个图元可以是:1.顶级图元,场景是它的父亲;2.孩子,它的父亲是另一个图元,任何作用于父图元的转换都将自动应用于它的孩子2种分组方式:1.一个图元成为另一个图元的孩子;2.使用QGraphicsItemGroup。使用分组,可以使位于同一个组的所有图元的操作都相同QGraphicsView:是一个Widget,用于显示一个场景,提供滚动条功能和转换功能,可以缩放和旋转场景。默认使用内建的2D画图引擎,可以使用OpenGL:在构造后,调用setViewpor

7、t()坐标系统:使用3种坐标系统:viewport,scene,itemviewport:位于QGraphicsView内部scene:逻辑坐标用于定位顶级图元item:与图元相关,以图元的(0,0)为中心,移动图元时,它的坐标不会改变实践中,主要关注场景坐标(定位顶级图元)和图元坐标(定位子图元和绘制图元)在图元自己的坐标系统里面绘图意味着我们不用担心它在场景中的位置和应用于它的坐标转换Demo://主要特点://上下文菜单,右键菜单//copy->paste方法//diagram.proTEMPLATE=appHEADER

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。