嵌入式Linux驱动程序和QT.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
常用GUI比较 Qt/Embedded架构 Qt/Embedded以原始Qt为基础,并做了许多出色的调整以适用于嵌入式环境。Qt/Embedded通过Qt API与Linux I/O设施直接交互,成为嵌入式Linux端口。 同Qt/X11相比,Qt/Embedded很省内存,因为它不需要一个X服务器或是Xlib库,它在底层抛弃了X lib,采用framebuffer作为底层图形接口。同时,将外部输入设备抽象为keyboard和mouse输入事件。 Qt/Embedded窗口系统 一个Qt/Embedded窗口系统包含了一个或多个进程,其中的一个进程可作为服务器。该服务进程会分配客户显示区域,以及产生鼠标和键盘事件。该服务进程还能够提供输入方法和一个用户接口给运行起来的客户应用程序。该服务进程其实就是一个有某些额外权限的客户进程。 客户与服务器之间的通信使用共享内存的方法实现,通信量应该保持最小。这就是Qt/Embedded库内部层次分明的处理过程。 QProcess类提供了另外一种异步的进程间通信机制。它用于启动一个外部的程序并且通过写一个标准的输入和读取外部程序的标准输出和错误码来和它们通信。 Qt/Embedded字体 (1) Qt/Embedded支持四种不同的字体格式:True Type字体(TTF),Postscript Type1字体,位图发布字体(BDF)和Qt的预呈现(Pre-rendered)字体(QPF)。Qt还可以通过增加QFontFactory的子类来支持其他字体,也可以支持以插件方式出现的反别名字体。 每个TTF或者TYPE1类型的字体首次在图形或者文本方式的环境下被使用时,这些字体的字形都会以指定的大小被预先呈现出来,呈现的结果会被缓冲。根据给定的字体尺寸(例如10或12点阵)预先呈现TTF或者TYPE1类型的字体文件并把结果以QPF的格式保存起来,这样可以节省内存和CPU的处理时间。 Qt/Embedded字体 (2) QPF文件包含了一些必要的字体,这些字体可以通过makeqpf工具取得,或者通过运行程序时加上“-savefonts”选项获取。如果应用程序中使用到的字体都是QPF格式,那么Qt/Embedded将被重新配置,并排除对TTF和TYPE1类型的字体的编译,这样就可以减少Qt/Embedded的库的大小和存储字体的空间。例如一个10点阵大小的包含所有ASCII字符的QPF字体文件的大小为1300Byte,这个文件可以直接从物理存储格式映射成为内存存储格式。 Qt/Embedded的字体通常包括Unicode字体的一部分子集,ASCII和Latin-1。 Qt/Embedded输入设备及输入法 Qt/Embedded 3.0支持几种鼠标协议:BusMouse、IntelliMouse,Microsoft和MouseMan. Qt/Embedded还支持NECVr41XX和iPAQ的触摸屏。通过从QWSMouseHandler或者Qcalibra- tedMouseHandler派生子类,开发人员可以让Qt/Embedded支持更多的客户指示设备。 对于非拉丁语系字符(例如阿拉伯,中文,希伯来和日语)的输入法,需要把它写成过滤器的方式,并改变键盘的输入。输入法的作者应该对全部的Qt API的使用有完整的认识。在一个无键盘的设备上,输入法成了惟一的输入字符的手段。Qtopia提供了4种输入方法:笔迹识别器、图形化的标准键盘、Unicode键盘和基于字典方式提取的键盘。 Qt/Embedded屏幕加速 通过子类化QScreen和QgfxRaster可以实现硬件加速,从而为屏幕操作带来好处。Troll- tech提供了Mach64和Voodoo3视频卡的硬件加速的驱动例子,同时可以按照协议编写其他的驱动程序。 Qt的支撑工具 Qt包含了许多支持嵌入式系统开发的工具,有两个最实用的工具是qmake和Qt designer(图形设计器)。 ? qmake是一个为编译Qt/Embedded库和应用而提供的Makefile生成器。它能够根据一个工程文件(.pro)产生不同平台下的Makefile文件。qmake支持跨平台开发和影子生成(影子生成是指当工程的源代码共享给网络上的多台机器时,每台机器编译链接这个工程的代码将在不同的子路径下完成,这样就不会覆盖别人的编译链接生成的文件。qmake还易于在不同的配置之间切换。) ? Qt图形设计器可以使开发者可视化地设计对话框而不需编写代码。使用Qt图形设计器的布局管理可以生成能平滑改变尺寸的对话框。 qmake和Qt图形设计器是完全集成在一起的。 Qt/Embedded信号和插槽机制 (1) 信号和插槽机制是Qt的核心机制,要精通Qt编程就

文档评论(0)

xx88606 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档