基于QT的数码相框设计与实现
图3- 2 Qt/Embedded窗口系统体系结构
3.4.2 Qt/Embedded中客户端/服务器通信方式
在Qt/Embedded中,客户端进程可有多个,但服务器进程只能有一个。服务器是以-qws作为参数运行的应用程序,它除了具有一般Qt/Embedded应用程序的客户端功能外,还具有服务器的功能。在这种情况下服务器与客户端在同一个进程中,也就是说客户端与服务器的通信是发生在同一进程空间中。在这种情况下,其实只需要通过两个队列结构就可以完成消息的传递。当服务器有命令或事件发送给客户端时,服务器就把此命令或事件放到与服务器对应的消息队列(outcoming)中,直到客户端从outcoming取出此命令或者事件。而客户端也是如此,当客户端有命令或事件发送给服务器时,则把此命令或事件放到与客户端对应的消息队列(incoming)中,直到服务器从incoming取出此命令或者事件。当然,这只是一个大致的通信过程。
有上述分析可知,Qt/Embedded的Server/Client通信可以分为两种情况,一种是单进程情况,即服务器端与客户端在同一进程中。另一种是多进程情况,即服务器端和客户端在不同的进程中。
本章小结:大多数情况下系统中总则存在多个客户端,它们都是没有用参数qws启动的应用程序时。这些客户端有一个特点,就是它们与服务器不处于同一进程中。多个客户端和一个服务器通过函数QWSClient::sendEvent()向对方发送事件和命令,然后服务器将来自鼠标及键盘等硬件输入的数据抽象通过socket以事件的形式发送给客户端。在发送的过程中,服务器还要把对窗口的全局管理也以事件的形式发送给客户端。在发送的同时,服务器还通过socket等待接收来自客户端发送过来的命令或事件,然后再进行相应的操作。客户端本身不具有处理的能力,需处理的窗口的全局管理及键盘鼠标命令数据同样用socket以事件的形式发送给服务器,交给服务器处理。同服务器一样,
- 12 -
基于QT的数码相框设计与实现
客户端在发送的同时还要通过socket接收来自服务器的事件,然后发给相应的客户端进行窗口处理。
4 QT技术
Qt是诺基亚开发的一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。自从1996年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。
4.1 QT的优势
面向对象 :Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。
丰富的 API:Qt包括多达 250 个以上的 C++ 类,还提供基于模板的 collections, serialization, file, I/Odevice, directory management, date/time 类。甚至还包括正则表达式的处理 功能。
支持 2D/3D 图形渲染,支持 OpenGL ,大量的开发文档 ,XML 支持 ,Webkit 引擎的集成,可以实现本地界面与Web内容的无缝集成
但是真正使得 Qt 在自由软件界的众多 Widgets (如 Lesstif,Gtk,EZWGL,Xforms,fltk 等等)中脱颖而出的还是基于 Qt 的重量级软件 KDE 。
4.2 QT图形用户界面
Qt的图形用户界面的基础是QWidget。Qt中所有类型的GUI组件如按钮、标签、工具栏等都派生自QWidget,而QWidget本身则为QObject的子类。
- 13 -
基于QT的数码相框设计与实现
Widget负责接收鼠标,键盘和来自窗口系统的其他事件,并描绘了自身显示在屏幕上。
QWidget不是一个抽象类。并且可以被放置在一个已存在的用户界面中;若是Widget没有指定父Widget,当它显示时就是一个独立的视窗、或是一个顶层widget。QWidget显示能力包含了透明化及Double-Buffering。Qt提供一种托管机制,当Widget于创建时指定父对象,就可把自己的生命周期交给上层对象管理,当上层对象被释放时,自己也被释放。确保对象不再使用时都会被删除。
4.3 QT Creator的特点以及优势
Qt Creator是跨平台的 Qt IDE, Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE)。此 IDE 能够跨平台运行,支持的系统包括 Linux(32 位及 64 位)、Mac OS X 以及 Windows。根据官方描述,Qt Creator 的设计目标是使开发人员能够利用 Qt 这个应用程序框架更加快速及轻易的完成开发任务。
Qt Creator 主要是为了帮助新 Qt 用户更快速入门并运行项目,还可提高有经验的 Qt 开发人员的工作效率。 使用强大的 C++ 代码编辑器可快速编写代码 ,语法标识和代码完成功能输入时进行静态代码检验以及提示样式上下文相关的帮助代码折叠括号匹配和括号选择模式高级编辑功能。
为 Qt跨平台开发人员的需求而量身定制 ,集成了特定于 Qt 的功能,如信号与槽 (Signals & Slots)图示调试器, 对 Qt 类结构可一目了然集成了 Qt Designer 可视化布局和格式构建器只需单击一下就可生成和运行 Qt 项目。
本章小结:Qt是流行的Linux桌面环境KDE 的基础。 基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西,但Qt具有优良的跨平台特性、面向对象 、丰富的API、大量的开发文档等优点。
- 14 -
基于QT的数码相框设计与实现
5 软硬件开发环境
本章主要介绍基于S3C2440的图形界面设计所使用到的软件和硬件平台,包括Mini2440开发板、处理器S3C2440和Qt Creator设计软件,以及Linux内核和文件系统的移植。
5.1开发板Mini2440介绍
Mini2440是一款真正低价实用的ARM9开发板,是目前国内性价比最高的一款学习板;它采用SamsungS3C2440为微处理器,并采用专业稳定的CPU内核电源芯片和复位芯片来保证系统运行是的稳定性。Mini2440的PCB采用沉金工艺的四层板设计,专业等长布线,保证关键信号线的信号完整性,生产采用机器贴片,批量生产;出厂时都经过严格的质量控制。
5.1.1 Mini2440特点
(1)第一款被Linux社区广泛支持的国产2440开发板 (2)第一款在linux下支持万能USB摄像头的2440开发板 (3)第一款统一采用支持EABI标准的交叉编译器的开发板 (4)第一款提供齐全BSP的开发板,并全面配有图形界面实用程序 (5)第一款支持NET 3.5和腾讯QQ的2440开发板
(6)第一款可以让用户无需编程,即可自由简单定制windowsCE开机画面的开发板
- 15 -
基于QT的数码相框设计与实现
5.1.2 Mini2440开发板硬件资源主要特性
CPU处理器:SamsungS3C2440A,主频400MHz,最高533Mhz
SDRAM内存:在板64M SDRAM,32bit数据总线,SDRAM时钟频率高达100NHz
FLASH存储:在板256M/1GB Nand Flash,掉电非易失 在板2M Nor Flash,掉电非易失,已经安装BIOS
LCD显示:板上的集成4线电阻式触摸屏接口,可以直接连接四线电阻触摸屏 支持黑白,4级灰度,16级灰度,256色,4096色STN液晶屏,尺寸从3.5寸到12.1寸,屏幕分辨率可以达到1024x768像素
5.2芯片S3C2440L简介
S3C2440AL是16/32位精简指令集微处理器,是为应用于小型掌上设备和高性价比、低功耗、高性能的嵌入式系统应用而提供的微控制。S3C2440使用了ARM920T内核,采用了0.18um技术标准,它功耗低,非常适合需要控制成本和功耗应用的场合。
S3C2440具有各种特性,包括:NAND Flash启动引导、Cache存储器、时钟电源管理、中断控制器、具有脉冲带宽调制功能的定时器、RTC实时时钟、通用I/O端口、DMA控制器、LCD控制器STN LCD显示特性、TFT彩色显示屏、UART、A/D转换和触摸屏接口等等。S3C2440AL的资源包括:1个LCD控制器、SDRAM控制器、NAND FLASH控制器、3路UART通道、4路DMA通道、4个具有PWM功能的计时器和一个内部时钟、8通道的10位ADC、8通道10位AD控制器、IIS-BUS接口、IIC-BUS接口、2个USB主机接口、1个USB设备接口、SD接口、MMC卡接口、看门狗计数器、117位通用I/O口和24位外部中断源、摄像头接口和触摸屏接口。
- 16 -
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库《嵌入式系统开发》课程设计基于QT的数码相框设计和实现(4)在线全文阅读。
相关推荐: