基于QtE的嵌入式GUI的研究和其移植.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Qt/E的嵌入式GUI的研究及其移植 发布日期:2008-06-17 作者:游燕珍,赵国锋,徐川 来源:微计算机信息 摘要:图形用户界面(Graphic?User?Interface,简称GUI)的广泛流行是当今计算机技术的重大成就之一,它极大地方便了非专业用户的使用。本文简要介绍当前国内外几种嵌入式GUI系统的实现方式与特点。对基于Qt的嵌入式GUI——Qt/Embedded的交叉开发平台、窗口系统、图形引擎的实现技术以及Qt的核心特性——信号与槽机制进行了分析。最后给出了Qt/Embedded应用程序的移植过程,移植过程采用交叉编译,系统界面直观简洁,易于操作。 关键字:Qt/Embedded,?Qt/E,?嵌入式GUI,?移植 1.?????? 引言 图形用户界面系统(GUI)是系统级的底层软件,它可以和文件系统、操作系统内核等一起构成一个完整的操作系统。GUI为用户提供了与应用系统交互的可视化通道,同时GUI为程序员提供了一种编程模式,即GUI负责系统的可视化界面的生成、管理以及系统与用户之间的信息交互,而程序员只需专注于对实际应用的分析。 嵌入式GUI除了以上特点,还要求简单、直观、可靠、占用资源小且反应快速,以适应嵌入式系统硬件资源有限的条件。另外,由于嵌入式硬件本身的特殊性,嵌入式GUI应具备高度可移植性和可裁剪性,以适应不同硬件平台的需求。 2.?????? 国内外几种嵌入式GUI系统实现方式与特点 为了适应日益扩大的嵌入式Linux市场的需求,国内外的相关研究机构和开发商已经或者正在开发一大批嵌入式图形系统项目和原型产品。其中较为著名的开放源码项目有Tiny X(小型的X窗口系统)、Microwindows、MiniGUI、Qt/Embedded等。 Tiny X:是标准X-windows在嵌入式系统的小巧实现,作为一个图形环境,X-window是成功的,但由于在体系接口上的原因,限制了它对游戏、多媒体的支持能力。 Microwindows:典型的基于Server/Clinent体系结构的GUI系统,提供了相对完善的图形功能和一些高级的特性,如Alpha混合、三维支持等。该系统为了提高运行速度,也改进了基于Socket套接字的X实现模式,采用了基于消息机制的Server/Client传输机制。 MiniGUI:由国内自由软件开发人员设计开发,是一种面向嵌入式系统或者实时系统的图形界面支持系统。MiniGUI具有资源消耗小、速度快、效率高的特点,但目前还不是很成熟,主要表现在:体系结构不完善,自有图形引擎的功能较弱,控件的可定制性不好,基于线程机制的系统脆弱性在复杂应用中更为突出,尤其是缺少一个方便的图形开发环境。 Qt/Embedded:缩写为Qt/E,Qt是Trolltech公司的产品,是一个多平台的C++图形用户界面应用程序框架,它注重于给用户提供精美的图形用户界面所需要的所有元素。而且它是基于一种面向对象的思想,所以用户对其对象的扩展是相当容易的,并且他还支持真正的组件编程[1]。这也是本文将要重点介绍的内容。 3.?????? Qt/E的介绍及开发环境的建立 3.1?? Qt/E体系结构 3.1.1????????? 交叉开发平台 Qt是用于本地化跨平台应用开发的领先性框架。Qt所有平台的API是一致的。这就意味着在一种平台上写的应用程序,在新的平台上经过重新编译和连接便能运行于该新平台上。因此,软件开发者通过开发和维护一种平台的应用源码来用于多种平台的开发。同样,嵌入式Qt也可以移植基于Qt的软件到嵌入式Linux中。Qt可提供的平台,如图1: 图1 Qt可提供平台 Qt/Windows:用于Microsoft Windows xp、2000、NT4、Me/98。Qt库使用Windows的GDI API来实现,并且使用微软的窗口系统;Qt/X11:包括Linux、HP-UX、Sun Solaris、Digital UNIX、SGI Irix、IBM AIX等。Qt库使用X11库来实现,并且使用X窗口系统;Qt/E:包括一个完整的窗口系统,并允许设计者轻易地加入各种显示设备和硬件输入设备(如鼠标、键盘、触摸屏等);Qt/Mac:用于Mac OS X平台。Qt对不同平台的专门API进行了封装,如文件处理、网络(操作,协议)、进程处理、线程、数据库访问等。 3.1.2????????? Qt/E的窗口系统 Qt/E的窗口系统采用一种客户/服务器体系结构,如图2所示。一个典型的嵌入式Qt窗口系统一般包括一个服务器进程、一个或多个客户进程(简称服务器和客户)。服务器负责为客户和其本身分配显示区域、生成鼠标和键盘事件。而客户则通过与服务器通信来申请显示区域,接收鼠标和键盘事件。客

文档评论(0)

xiaofei2001129 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档