网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
天线制作 GPS 地标
网站地图 RSS订阅
高级搜索 收藏本站
Home | 业界动态 | Open source | GNU | Linux | BSD | Solaris | AIX | HP-UX | IRIX | Mac OS X | Minix | Tru64 | SCO UNIX | Network | Security | X-Window | Database | 应用服务 | Programming | 经典著作 | 永远的纪念 | 杂项
 当前位置: Home > Linux > 嵌入式系统 > GUI > 文章  
Qt/Embedded在嵌入式Linux系统中的应用
文章来源: 赛迪网 文章作者: 徐广毅 张晓林 崔迎炜 蒋交军 发布时间: 2005-06-13   字体: [ ]  
 

  Qt/Embedded 2.x中对于键盘响应的实现函数位于src/kernel/qkeyboard_qws.cpp中。在qkeyboard_qws.h中,定义了键盘类设备接口的基类QWSKeyboardHandler,移植时需要根据键盘驱动程序从该类派生出实现类,实现键盘事件处理函数 processKeyEvent(),并在QWSServer::newKeyboardHandler函数中注册自己的键盘类设备即可。其中对于点击键的键码定义在Qt/Embedded的命名空间——src/kernel/qnamespace.h中。

  图4为笔者在该Smart-Phone开发平台上移植Qt/Embedded 2.3.7和Qtopia 1.7.0后显示的截图。

  2.2 在MC9328平台上移植和应用

  在某车载导航辅助系统的开发平台设计中,采用了Qt/Embedded 3.3.2版本作为其GUI系统的实现方案。硬件平台采用自行设计的以Motorola MC9328 MX1为核心的开发系统。该系统采用CPU内部LCD控制器和240×320分辨率的16 bpp TFT LCD作为显示设备,采用I2C总线扩展出16按键以及MX1集成的ASP模块和电阻触摸屏。操作系统为ARM Linux 2.4.18。

  Qt/Embedded 3.x版本系统中与底层硬件接口相关部分的源码位于src/embedded/目标中。该部分包含三类设备的接口:framebufer、鼠标与键盘。参照该目标中相关设备的具体接口代码,根据自身硬件台增添接口即可。

  由于系统LCD的岔道率为240×320,物理尺寸较小,在实现其于该系统的framebuffer驱动程序时并没有将其本身与Linux字符控制台设备挂靠,因此framebuffer并不具备TEXT模式的工作方式。在移植Qt/Embedded时,无需作framebuffer设备的工作方式转换。正确配置色彩显示支持后,Qt/Embedded能够在LCD显示出正确的图形。由于该平台的显示系统为纵向320行,在设计时考虑到人对于非手持设备的视觉习惯为宽度大于高度的观察方式,为了符合这种习惯性的观察方式,在移植Qt/Embedded时采用了Transformed的旋转图形显示方式在软件上实现了显示方向的转换变化。

  鼠标设备接口这一基类 QWSMouseHandler的实现位于src/embedded/qmouse_qws.cpp中。与2.x版本系列不同的是,3.x中所有的 Linux触摸屏示例接口代码均实现在src/embedded/qmouselinuxtp_qws.cpp中的 QWSLinuxTPMouseHandler类中。其中对于不同型号的触摸屏的接口实现代码,采用不同的宏定义和预编译的方式将它们分隔开。笔者还通过从QWSLinuxTPMouseHandler中继承自身触摸屏接口类,替代原有的QWSLinuxTPMouseHandlerPrivate类,而在QWSLinuxTPMouseHandler生成自身触摸屏接口对象的方式,较好地将移植部分的代码与原有比较混乱的代码分隔开来。

  3.x中键盘接口基类们于src/embedded/qkbd_qws.cpp中,为QWSKeyboardHandler。实现I2C总线扩展出的16键键盘接口类方式与触摸屏类似,此处不多述。需要注意的是,Qt/Embedded提供了事件过滤器(key event filter)的接口,在键盘点击事件从QWSServer截获并发送到相应的client之前会经过函数QWSServer:: KeyboardFilter。在此函数中可以按照自身需求生成新的键盘点击事件,而后利用QWSServer::sendKeyEvent()发送新的点击事件到client中。利用该方式可以将各种键盘点击无法输入的unicode字符转换出来,从而可以在较少的按键键盘上实现多unicode字符输入法。Qt/Embedded 3.x键盘接口的移植与鼠标设备接口类似,此处不多述。

  3 总结

  随着嵌入式处理器运算能力的不断提高,对外设支持的不断丰富,嵌入式Linux系统的应用也逐渐增多。Qt/Embedded延续了Qt在桌面系统的所有功能,丰富的API接口和基于组件的编程模型使得嵌入式Linux系统中的应用程序开发更加便捷。由于Qt/Embedded本身面向高端的手持设备和移动设备,将成为未来嵌入式系统的主要GUI。

--
原文链接: http://linux.ccidnet.com/art/310/20050613/266849_1.html

 
推荐文章
·恰当选择嵌入式Linux环境下的GUI
·嵌入式Linux系统的MiniGUI研究和
·基于 GTK+ 和 X-window 的 GUI
·基于Qt/Embedded和Qtopia的GUI设
·恰当选择嵌入式Linux环境下的GUI
·嵌入式Linux系统中的GUI系统的研
·QTE/Qtopia在Liod-270上的移植
·基于Qt/Embedded的GUI移植及应用
 
 
共4页: 上一页 [1] [2] [3] 4 下一页
↑返回顶部   打印本页   关闭窗口↓  

Google
 
Web oldhand.org unixreference.net meshmea.org
相关分类
热点文章
·基于Qt/Embedded的GUI移
·基于Qt/Embedded和Qtopi
·嵌入式Linux系统中的GUI
·QTE/Qtopia在Liod-270上
·基于 GTK+ 和 X-window
·嵌入式Linux系统的MiniG
·恰当选择嵌入式Linux环
·恰当选择嵌入式Linux环
相关文章
·嵌入式Linux操作系统启
·一个嵌入式Linux系统的
·ARM的嵌入式Linux移植体
·ARM的嵌入式Linux移植体
·ARM的嵌入式Linux移植体
·ARM的嵌入式Linux移植体
·ARM的嵌入式Linux移植体
·Bootloader存在的必要性
更多...
 
 

Copyright(c) 2001-2009 OLDHAND ORGANIZATION, All Rights reserved.
Power by DedeCms 织梦内容管理系统