- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 嵌入式GUI 3.1嵌入式GUI简介 1. 嵌入式设备对GUI 的限制 CPU速度相对来说较慢,一般不具备浮点运算功能或浮点运算功能较弱 内存、外存容量小 电量有限 2. 嵌入式GUI设计: 硬件设计, 通过LCD控制器把LCD显示器和开发系统连接起来。 驱动程序设计, 为输出输入设备如LCD设计驱动程序, 使硬件能驱动起来 用户界面程序设计, 使用嵌入式系统提供的函数库进行图形化程序设计 3. 嵌入式GUI的模块 GUI用户接口模块 为上层应用软件开发人员提供方便、易用的API接口函数 屏蔽了GUI的设备实现细节 GUI对象模块 对窗口环境中的逻辑对象进行组织管理 包括对象的添加、删除引发的对象链表的更新,以及GUI窗口显示的维护,如窗口切换、焦点切换、对象的隐藏和恢复等操作引发的对象属性的更新,还有对不同控件的各种事件的响应 GUI基本图形模块 实现对显示输出设备的操作,如画点、画线、画矩形等基本功能 对于字符的解析输出,以及对图形的解析输出 独立于具体的设备驱动程序,与物理设备之间形成“设备抽象层” GUI消息驱动模块 负责GUI的消息接收和与其它任务的通讯以及消息队列的维护 4. 嵌入式GUI的特点 可移植性 较高的稳定性和可靠性 系统开销少 占用的存储空间以及运行时占用资源少 运行速度以及响应速度快 较高可配置性 可裁减性、界面特性配置、皮肤和主题配置 5. 目前在嵌入式系统比较流行的GUI Qt/Embedded 是一个C++函数库, 支持真正的组件编程 MicroWindows 开放源码, C/S结构(client ? server) , 三层(客户端+中间层+后台数据库) , LGPL(GNU宽通用公共许可证 ) OpenGUI 适合于x86, 可移植性比较差 MiniGUI 中国的自由软件项目, LGPL Tiny-X 是标准X-windows系统的简化版 3.2 Qt/Embedded 基础 Qt是跨平台的C++图形用户界面(GUI)工具包, 它是TrollTech公司的标志产品。 Qt工具包有两种不同的版本 一种是用于商业性质的专业版 另一种是用于开发X平台自由软件的自由版 用自由版开发软件都必须作为自由软件公开 如果要用Qt编写非自由软件, 则需要购买专业版。 Qt是一种跨平台的GUI工具包, 软件能非常方便地应用于绝大多数操作系统 Microsoft Windows, Linux, Solaris, SunOS, HP_UX, Digital Unix, Irix, FreeBSD, BSD/OS, SCO, AIX 1. Qt特征 面向对象:模块设计, 注重软件构件和元素的可重用性。 构件支持:提供signal和slot, 对象之间可在不知道对方信息的情况下进行合作。 方便性:跨平台GUI工具包, 对编程人员隐藏了处理不同窗口系统时潜在的问题。 国际化:Qt用户界面文本, 可以通过消息翻译表被译成各国语言。 丰富的API 完整的组件:按钮、滚动条、自动布局组件等 优越的绘图功能 2D/3D图形润色功能 2. Qt 与X11的关系 X11是X Window 系统第11版 基于X的应用是通过调用Xlib的库函数来实现其各种功能的。 Xlib是底层库 在其上又发展出比Xlib更高层次的库函数, 称为工具包 将一些常用界面图形或组件按面向对象编程的方式组织到一起, 供应用软件使用。 不同公司或组织开发出不同的工具包, 如Xt工具包, Motif工具包, Qt工具包等 Qt工具包是优秀强大的GUI工具包 linux上流行的桌面环境KDE是基于Qt开发出的 3. Qt 应用程序的执行过程 4. Qt 基础 Qt 的三个主要基类: (1). QObject QObject 是所有能够处理signal, slot和事件的Qt对象的基类。Qt为对象的通信以及signal/slot连接提供了强大的机制, signal/slot机制比传统的回调规则更先进。 所有Qt组件都继承QObject和使用signal/slot机制 (2).QApplication QApplication 类负责GUI应用程序的控制流程和主要的设置, 它包含主事件循环体, 负责处理和调度所有来自窗口系统和其他资源的事件, 并且处理应用程序的开始、结束以及会话管理, 还包括应用程序方面的设置。 QApplication 实现的主要功能有: 1) 初始化应用程序、并设置用户桌面的一些特性。如字体设置等。 2) 执行事件处理, 从当前的窗口系统接收事件并将其送给目标组件。 3) 解析命令行的变元和设置相应的内部状态 4) 定义应用程序的外观和感受 5) 指明应
文档评论(0)