QT的Graphics View柜架

QT的Graphics View柜架

ID:37712473

大小:102.50 KB

页数:6页

时间:2019-05-29

QT的Graphics View柜架_第1页
QT的Graphics View柜架_第2页
QT的Graphics View柜架_第3页
QT的Graphics View柜架_第4页
QT的Graphics View柜架_第5页
资源描述:

《QT的Graphics View柜架》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、GraphicsView提供了一个界面,它既可以管理大数量的定制2Dgraphicalitems,又可与它们交互,有一个viewwidget可以把这些项绘制出来,并支持旋转与缩放。这个柜架也包含一个事件传播结构,对于在scene中的这些items,它具有双精度的交互能力。Items能处理键盘事件,鼠标的按,移动、释放、双击事件,也可以跟踪鼠标移动。GraphicsView使用BSP树来提供对item的快速查找,使用这种技术,它可以实时地绘制大规模场景,甚至以百万items计。GraphicsView在Qt4.2中被引用,它替

2、代了它的前辈QCanvas。GraphicsView的体系结构GraphicsView提供的是一种类似于Qtmodel-view的编程。多个views可以监视同一个场景,而场景包含多个具有多种几何外形的items。场景QGraphicsScene表示GraphicsView中的场景,它有以下职责:为管理大量的items提供一个快速的接口。传播事件到每个item。管理item的状态,例如选择,焦点处理。提供未经变换的渲染功能,主要用于打印。场景作为QGraphicsItem对象的容器。通过调用QgraphicsScene::a

3、ddItem()把这些Items加入到场景中。可以使用众多的查找函数来获取特定的items。QGraphicsScene:items()与它的许多重载函数可获取那些与点、矩形,多边形,向量路径等相交或是有包含有关系的items。QGraphicsScene::itemAt()返回特定上最顶端的item。所有的item查找函数都以出栈序列返回(也就是说,第一个返回的是最顶端的,最后一个返回的是最底端的)。QGraphicsScene scene;QGraphicsRectItem *rect=scene.addRect(QRe

4、ctF(0,0,100,100));QGraphicsItem *item=scene.itemAt(50,50);//item==rect;QGraphicsScene的事件传播结构会把场景事件投递到items,也管理多个items之间的传递。假如场景收到了鼠标在某个位置press事件,场景会把这个事件投递给处在那个位置的item。QGraphicsScene也管理某种item状态,像选择与焦点。你可以通过调用QGraphicsScene::setSelectionArea()来选择items,它需要提供一个任意的形状为参

5、数。这个函数也作为在QGraphicsView实现橡皮筋选择功能的一个基础。为得到这些已经被选择的items,调用QGraphicsScene::selectedItem()。另一个状态处理是是否一个item拥有键盘输入焦点。你可以调用QGraphicsScene::setFocusItem()或QGraphics::setFocus()来设定焦点,也可用QGraphicsScene::focusItem()来得到当前拥有焦点的那个item。最后,QGraphicsScene允许你通过调用QGraphicsScene::re

6、nder()函数把部分场景送到绘图设备进行渲染。视图QGraphicsView提供了视图部件,它可视化场景中的内容。你可以联结多个视图到同一个场景,对这个相同的数据集提供几个视口。视口部件是一个滚动区域,它提供了滚动条以对大场景进行浏览。为了使用OpenGL,你应该调用QGraphicsView::setViewport()来把一个QGLWidget设为视口。视图从键盘,鼠标接收输入事件,在发送这些事件到场景之前,会对这些事件进行适当的翻译(把事件坐标转换成对应的场景坐标)。利用转换矩阵,QGraphicsView::mat

7、rix(),视图可变换场景的坐标系统。这允许高级的导航特性,如缩放,旋转。为了方便,QGraphicsView也提供了在视图与场景之间进行坐标转换的函数:QGraphicsView::mapToScene(),QGraphicsView::mapForScene()。TheItemQGraphicsItem是场景中图形items的基类。GraphicsView提供了一些标准的、用于典型形状的items。像矩形(QGraphicsRectItem),椭圆(QGraphicsEllipseItem),文本(QGraphicsTe

8、xtItem),当你写定制的item时,那些最有用的一些QGraphicsItem特性也是有效的。除此这外,QGraphicsItem支持以下特性:*鼠标按、移动、释放、双击事件,鼠标悬停事件,滚轮事件,弹出菜单事件。*键盘输入焦点,键盘事件。*拖拽*组,包括父子关系,使用QGraphic

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

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

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