




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ARM开发板使用手册三星44B0XARM7TDMI 嵌入式用户图形界面编程 嵌入式图形系统简介基于Qt Embedded的嵌入式GUI设计 1 嵌入式图形系统简介 1 1Qt EmbeddedQt Embedded 简称QtE 是一个专门为嵌入式系统设计图形用户界面的工具包 Qt是挪威Trolltech软件公司的产品 它为各种系统提供图形用户界面的工具包 QtE就是Qt的嵌入式版本 1 1Qt Embedded 使用QtE 开发者可以 用QtE开发的应用程序要移植到不同平台时 只需要重新编译代码 而不需要对代码进行修改 可以随意设置程序界面的外观 可以方便地为程序连接数据库 可以使程序本地化 可以将程序与Java集成 嵌入式系统地要求是小而快速 而QtE就能帮助开发者为满足这些要求开发强壮地应用程序 QtE是模块化和可裁剪地 开发者可以选取他所需要的一些特性 而裁剪掉所不需要的 这样 通过选择所需要的特性 QtE的映像变得很小 最小只有600K左右 同Qt一样 QtE也是用C 写的 虽然这样会增加系统资源消耗 但是却为开发者提供了清洗的程序框架 使开发者能够迅速上手 并且能够方便地编写自定义的用户界面程序 由于QtE是作为一种产品推出 所以它有很好的开发团体和技术支持 这对于使用QtE的开发者来说 方便开发过程 并增加了产品的可靠性 总的来说 QtE拥有下面一些特征 拥有同Qt一样的API 开发者只需要了解Qt的API 不用关心程序所用到的系统与平台它的结构很好地优化了内存和资源地利用 拥有自己的窗口系统 QtE不需要一些子图形系统 它可以直接对底层的图形驱动进行操作 模块化 开发者可以根据需要自己定制所需要的模块 代码公开以及拥有十分详细的技术文档帮助开发者 强大的开发工具 与硬件平台无关 QtE可以应用在所有主流平台和CPU上 支持所有主流的嵌入式Linux 对于在Linux上的QtE的基本要求只不过是FrameBuffer设备和一个C 编译器 如gcc Qte同时也支持很多实时的嵌入式系统 如QNX和WindowsCE 提供压缩字体格式 即使在很小的内存中 也可以提供一流的字体支持 支持多种的硬件和软件的输入 支持Unicode 可以轻松地使程序支持多种语言 支持反锯齿文本和Alpha混合的图片 Trolltech公司在QtE的基础上开发了一个应用的环境 Qtopia 这个应用环境为移动和手持设备开发 其特点就是拥有完全的 美观的GUI 同时它也提供可上百个应用程序用于管理用户信息 办公 娱乐 Internet交流等 已经有很多公司采用了Qtopia来开发他们主流的PDA QtE虽然公开代码和技术文档 但是它不是免费的 当开发者的商业化产品需要用到他的运行库时 必须向Trolltech公司支持license费用 每套3美金 如果开发的东西不用于商业用途则不需要付费 QtE由于平台无关性和提供了很好的Gui编程接口 在许多嵌入式系统中得到了广泛的应用 是一个成功的嵌入式GUI产品 1 2Microwindows Mirowindows是嵌入式系统中广为使用的一种图形用户接口 其官方网站是 http 这个项目的早期目标是在嵌入式Linux平台上提供和普通个人电脑上类似的图形用户界面 作为PC上X Windows的替代品 Microwindows提供了和X Windows类似的功能 但是占用的内存要少得多 根据用户得配置 Microwindows占用得内存资源在100KB 60KB 1 2Microwindows Microwindows支持多种外部设备得输入 包括液晶显示器 鼠标和键盘等 在嵌入式Linux平台上 从Linux2 2 x的内核开始 为了方便图形的显示 使用了framebuffer的技术 Microwindows完全支持Linux最新framebuffer技术 支持每个象素1位 2位 4位 8位 16位 24位和32位的色彩空间 灰度 并且通过调色板技术将RGB格式的颜色空间转换成目标机器上最相近的颜色 然后显示出来 1 2Microwindows Microwindows的核心基于显示设备接口 因此可移植行很好 microwindows有自己的Framebuffer 因此它并不局限于Linux开发平台 在eCos FreeBSD RTEMS等操作系统上都能很好地运行 此外 Microwindows能在宿主机上仿真目标机 这意味着基于Linux的Microwindows应用程序的开发和调试可以在普通的个人电脑上进行 而不需要使用普通嵌入式软件的 宿主机 目标机 调试模式 从而大大加快了开发速度 Mincrowindows是完全免费的一个用户图形系统 1 3MiniGUI MiniGUI是由北京飞漫软件技术有限公司主持的一个自由软件项目 遵循GPL条款 其目标是为基于Linux的实时嵌入式系统提供一个轻量级的图形用户界面支持系统 MiniGUI为应用程序定义了一组轻量级的窗口和图形设备接口 利用这些接口 每个应用程序可以建立多个窗口 而且可以在这些窗口中绘制图形 用户也可以利用MiniGUI建立菜单 按钮 列表框等常见的GUI元素 1 3MiniGUI 用户可以将MiniGUI配置成 MiniGUI Threads 或者 MiniGUI Lite 运行在MiniGUI Threads上的程序可以在不同的线程中建立多个窗口 但所有的窗口在一个进程中运行 相反 运行在MiniGUI Lite上的每个程序是单独的进程 每个进程也可以建立多个窗口 MiniGUI Threads适合于具有单一功能的实时系统 而MiniGUI Lite则适合于类似于PDA和瘦客户机等嵌入式系统 1 2QTE和Qtopia开发模型 1 2 1QTE与QT X11比较 1 2 1QTE与QT X11比较 QT Embedded通过QtAPI与LinuxI O设施直接交互 成为嵌入式linux端口 同Qt X11相比 QT Embedded很节省内存 其不需要一个X服务器或是Xlib库 它在底层摈弃了Xlib 采用framebuffer 帧缓存 作为底层图形接口 同时 将外部输入设备抽象为keyboard和mouse输入事件 QT Embedded的应用程序可以直接写内核缓冲帧 这可避免开发者使用繁琐的Xlib Server系统 1 2 2Qtopia介绍 Qtopia是一种全方位的应用开发平台 它可用于基于嵌入式linux的PDA 移动电话 webpads 以及其他移动计算设备 Qtopia构建于Qt Embedded之上 是专为基于linux的消费电子产品提供和创建图形用户界面而设计的 常见的有两种版本 QtopiaPhone版 专为基于linux的智能电话和多功能电话设计 QtopiaPDA版 专为基于linux的PDA设计 1 2 2Qtopia介绍 Qtopia特色 视窗操作系统 同步窗口 开发环境 本地化支持 游戏和多媒体 PIM应用程序 输入法 个性化选项 internet应用程序 java集成 无线支持 1 2 3Qt Embedded开发模型 嵌入式软件开发通常都采用交叉编译的方式进行 基于Qt Embedded和Qtopia的GUI应用开发也采用这样的模式 先在宿主机上调试应用程序 调试通过后 经过交叉编译移植到目标板上 Qt Embedded直接写入帧缓存 在宿主机上则是通过qvfb virtualframebuffer 来模拟帧缓存 qvfb是X窗口用来运行和测试Qtopia应用程序的系统程序 qvfb使用了共享内存存储区域 虚拟的帧缓存 来模拟帧缓存并且在一个窗口中模拟一个应用程序来显示帧缓存 显示的区域被周期性的改变和更新 1 2 3Qt Embedded开发模型 宿主机移植所需工具及环境变量声明 1 2 4Qt Embedded信号与插槽 1 概述信号与插槽是QT自定义的一种通信机制 它独立于标准的从C C 语言 他的实现必须借助于moc MetaObjectCompiler 的QT工具 他是一个C 预处理程序 为高层次的事件处理自动生成所需要的附件代码 所谓图形用户接口的应用就是对用户的动作作出响应 程序员则必须把事件和相关代码联系起来 这样才能对事件作出正确的响应 所有从QObject或其子类 例如Qwidget 派生的类都能够包含信号和插槽 当对象改变状态时 信号就由该对象发射 emit 出来 插槽用于接收信号 但它们是普通的对象成员函数 一个插槽并不知道是否有任何消息与自己相连 用户可以将很多信号与一个插槽相连 也可将单个消息与多个插槽进行链接 2 信号与插槽的实现信号 voidmysignal intx 插槽 voidmyslot intx 信号与插槽关联 connect abutton SIGNAL clicked SLOT quit 3 基于Qt Embedded的嵌入式GUI设计 3 1建立Qt Embedded开发环境安装x86 qtopia源代码 tarxvzfx86 qtopia tgz C sbc2410 cd sbc2410 x86 qtopia build shell程序 安装SBC 2410X版本的arm qtopia源代码 tarxvzfarm qtopia tgz C sbc2410 cd sbc2410 x86 qtopia build shell程序 3 2设置链接库 当在PC上模拟Qtopia的运行时 需要用到对应Qt版本的库文件 因此需要修改 etc ld so conf文件以适应刚刚安装的Qt Redhat安装时带有Qt库 但不适合我们最新安装的版本 修改后的ld so conf文件内容如下 sbc2410 x86 qtopia qt lib sbc2410 x86 qtopia qtopia lib usr kerberos lib usr X11R6 lib usr l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年公路水运工程试验检测师法规与技术标准试题库及答案
- (2025年)检验检测机构授权签字人考核试题(附答案)
- 安丘市2024-2025学年八年级下学期语文月考模拟试卷
- 2017年1月国开电大法律事务专科《行政法与行政诉讼法》期末纸质考试试题及答案
- 2025 年小升初深圳市初一新生分班考试英语试卷(带答案解析)-(人教版)
- 2025 年小升初沧州市初一新生分班考试数学试卷(带答案解析)-(苏教版)
- 中山市高二年级2025-度第二学期期末统一考试地理模拟试卷(六)
- 社区网格化课件
- 社区消防知识培训课件简报
- 社区消防知识培训课件及演练
- 颈椎病中医护理查房
- 员工综合素质与能力考核表
- GB/T 20245.1-2006电化学分析器性能表示第1部分:总则
- GB/T 20001.7-2017标准编写规则第7部分:指南标准
- 医用高等数学-课件
- 《展示设计》课程教案
- 热集成-4.夹点技术基础理论
- 2023年员工标准劳动合同范本版7篇
- 倪海厦针灸讲义
- 施工放样测量记录表
- 音乐美学课件
评论
0/150
提交评论