毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 英语论文 >> 正文

QT电子地图设计与实现+需求分析+详细设计+程序流程图 第3页

更新时间:2010-9-1:  来源:毕业论文
QT电子地图设计与实现+需求分析+详细设计+程序流程图 第3页
图2-1  QT的实现结构图Qt/Embedded 的底层图形引擎基于framebuffer。Framebuffer 驱动程序的实现分为两个方面:一方面是对LCD及其相关部分的初始化,包括画在缓冲区的创建和对DMA通道的设置;另外一方面是对画面缓冲区的读写,具体到代码为read、write、lseek等系统调用接口。至于将画面缓冲区的内容输出到LCD显示屏上,则由硬件自动完成。对于软件来说是透明的。当对于DMA通道和画面缓冲区设置完成后,DMA开始正常工作,并将缓冲区中的内容不断发送到LCD上。这个过程是基于DMA对于LCD的不断刷新的。基于该特性,framebuffer驱动程序必须将画面缓冲区的存储空间(物理空间)重新映射到一个不加高缓存和写缓存的虚拟地址区间中,这样能才保证应用程序通过mmap将该缓存映射到用户空间后,对于该画面缓存的写操作能够实时的体现在LCD上。
QT程序是基于C++编写的,图形用户界面编程同时需要运行效率和高水平的灵活性。Qt通过结合C++的速度为这一领域提供了Qt对象模型。
Qt把下面这些特性添加到了C++当中:
一种被称为信号和槽的非常强大的机制;可查询和可设计的属性项;强大的事件和事件过滤器;根据上下文进行国际化的字符串翻译;完善的时间间隔驱动的计时器等。
许多Qt的特性是基于QObject的继承,通过标准C++技术实现的。
QApplication是必须构造的Qt主对象,需要在一开始的时候就构造这个对象,并把命令行参数传递给这个对象,每个Qt应用程序有且仅有一个QApplication对象,该对象必须在做其他事之前创建,这个对象处理一些底层操作,如事件处理、字符串本地化和控制界面外观等。
信号和信号处理函数是GUI应用程序用来响应用户输入的基本机制,也是所有GUI库的核心特征,Qt的信号处理机制由信号(signal)和槽(slot)构成,它们相当于GTK+中的信号和回调函数。在Qt中回调函数就叫做槽。
信号和槽用于对象间的通讯,它的基本语法为:
connect(object1,signal1,object2,slot1);毕业论文http://www.youerw.com
2.3 QT Graphics View Framework简介
2.3.1 Graphics View层次结构本文来自优"文'论-文|网
Graphics View 提供一个强大的自定义2D平面图元并处理它们之间相互作用的接口,以及将一个这些图元可视化的view控件,它支持旋转和缩放。该框架还包含一个事件传递机制,允许画布和画布上的图元之间精确地双向交互。图元处理鼠标键盘事件,如鼠标按下、移动、释放、点击和双击事件,也跟踪鼠标移动。另外,Graphics View使用BSP树来提供快速的图元搜索,从而能够支持大画布显示,甚至是包含数百万图元的画布。
Graphics View架构分作3层。最底层是一系列QGraphicsItem,也就是最基本的图元。所有要显示的对象都必须包装成QGraphicsItem或其子类的对象,然后调用QGraphicsScene::addItem方法把图元加入画布中。中间层是QGraphicsScene对象都添加或删除图元。当显示QGraphicsScene对象时,它包含的所有的QGraphicsItem对象都会显示。最上层是QGraphicsView,这是个窗体控件,专门负责画布的显示。QGraphicsView和QGraphicsScene类似于MVC架构中的Model和View的关系,或者Observer设计模式的Data和View的关系。QGraphicsView控制图像显示,并负责处理或向QGraphicsScene或QGraphicsItem转发键盘鼠标等用户交互事件;QgraphicsScene包括要显示的QGraphicsItem列表数据信息。QGraphicsView和QGraphicsScene是多对一的关系,即一个QGraphicsScene可以放多个QGraphicsView中以不同方式显示。
 图2-2  Graphics View三元素之间的关系Graphics View基本类有各自不同的坐标系。QGraphicsScene 类的坐标系是以中心为原点(0,0)。
图2-3  QGraphicsScene的坐标系
QGraphicsView 类继承自QWidget类,因此它和其他的QWidget类一样以窗口的左上角作为自己坐标系的原点。
图2-4  QGraphicsView 的坐标系
QGraphicsItem则有自己的坐标系,在调用QGraphicsItem类的paint()函数重画项目时是以此坐标系为基准。
图2-5  QGraphicsItem 的坐标系
3种坐标系统可以相互转换。QT提供了相应的接口。例如,通过调用QGraphicsItem::mapToScene和QGraphicsItem::mapFormScene可以在Item坐标系统和Scene坐标系统之间进行转换,QGraphicsItem::mapToParent和QGraphicsItem::mapParent可以在Item坐标系统和它的父Item坐标系统之间进行转换,QGraphicsView::mapFromScene和QGraphicsView::mapToScene可以在View坐标系统和Scene坐标系统之间进行转换。
2.3.2 QGraphicsItem
    QGraphicsItem提供了丰富的子类为程序的编写带来了很大的方便。有QGraphicsEllipseItem,QGraphicsLineItem,QGraphicsPathItem,QGraphicsPixmapItem,QGraphicsPolygonItem,QGraphicsRectItem,QGraphicsSimpleTextItem,QGraphicsTextItem一共8种。
在地图的绘制中QGraphicsLineItem可绘制道路,河流。QGraphicsPathItem可以绘制一些曲线。

上一页  [1] [2] [3] [4] [5] [6] [7] 下一页

QT电子地图设计与实现+需求分析+详细设计+程序流程图 第3页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。