Qt 是一个
跨平台应用程序和 UI 开发框架。使用 Qt 您只需一次性开发应用程序,无须重新编写
源代码,便可跨不同桌面和
嵌入式操作系统部署这些应用程序。
功能
直观的 C++
类库跨桌面和嵌入式操作系统的移植性
具有跨平台 IDE的集成开发工具 在嵌入式系统上的高运行时间性能,占用资源少
平台
Windows
Linux/X11
Mac
Windows CE/Mobile
嵌入式 Linux(Embedded Linux)
Symbian
Maemo
其他平台
MeeGo
Qt 用于移动平台
使用 Qt 进行移动平台开发
使用 Qt 只需编写一次代码,然后就可在任何平台部署,并快速推向市场。
设计新颖的用户体验
开发简洁、高性能的应用程序
针对 Symbian/
S60、
Maemo、MeeGo 和 Windows Mobile 设备进行开发
将移动应用程序移植到 Windows、Mac 和 Unix/Linux (X11) 的桌面系统
简介:
Qt是一个跨平台的C++
图形用户界面库,由挪威
TrollTech公司出品,包括Qt、基于
FrameBuffer的Qtopia Core、快速开发工具Qt Designer和国际化工具Qt Linguist等部分。Qt支持所有的
UNIX系统,当然也包括Linux系统,还支持WinNT/Win2k、Windows 95/98平台。
基本上Qt同
X-Window上的
Motif、Openwin、
GTK等图形界面库和Windows平台上的MFC、OWL、VCL、ATL是同类型的。不过Qt还具有下列一些优点。
Qt支持下列操作系统:Microsoft Windows 95/98、Microsoft Windows NT、
Linux、
Solaris、
SunOS、
HP-UX、Digital UNIX (OSF/1、
Tru64)、Irix、
FreeBSD、
BSD/OS、SCO、AIX、OS390和
QNX等。
Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt提供了一种称为signals/slots 的安全类型来替代callback,这使得各个元件之间的协同工作变得十分简单。
(3)丰富的API。
Qt包括多达250个以上的
C++类,还提供基于模板的collections、
serialization、file、I/O device、directory management和date/time类。甚至还包括
正则表达式的处理功能。
(5)大量的开发文档。
(6)XML支持。
但是真正使得Qt在自由软件界的众多
Widgets(如Lesstif、
Gtk、EZWGL、
Xforms及
fltk等)中脱颖而出的还是基于Qt的重量级软件
KDE。Qt虽然是商业公司的产品,但是走的却是开源路线,提供免费下载,全部都是
开放源代码,非商业用途亦采用
GPLTrolltech也针对嵌入式环境推出了
Qt/Embedded产品。与桌面版本不同,Qt/Embedded已经直接取代了X Server及X Library等角色,将所有的功能全部整合在一起。
Qt/Embedded同样具有跨平台的特点,省掉了不少移植软件的功夫,这样的概念和
Java十分接近。同时它还采用
模块化设计,其最大的好处是有弹性,Qt/Embedded号称最小,可以缩到800 KB左右,最多可以长到3 MB(for Intel x86),这样的弹性也让Qt/Embedded更适合在嵌入式环境下生存。
Qt/Embedded延续了Qt在X上的强大功能,在底层摒弃了X lib,仅采用
FrameBuffer作为底层图形接口。同时,将外部输入设备抽象为keyboard和mouse输入事件,底层接口支持键盘、GPM鼠标、触摸屏及用户自定义的设备等。
Qt/Embedded
类库完全采用C++封装。丰富的控件资源和较好的可移植性是
Qt/Embedded最为优秀的一方面。它的类库接口完全兼容于同版本的Qt-X11,使用X下的开发工具可以直接开发基于Qt/Embedded的应用程序
QUI界面。
与前两种GUI不同的是,Qt/Embedded的底层图形引擎只能采用FrameBuffer,这就注定了它是针对高端嵌入式图形领域的应用而设计的。由于该库的代码追求面面俱到,以增加它对多种硬件设备的支持,造成了其底层代码比较凌乱,各种补丁较多的问题。Qt/Embedded的结构也过于复杂和臃肿,很难进行底层的扩充、定制和移植,尤其是用来实现signal/slot机制的moc文件。
Qt/Embedded当前已经升级为Qtopia Core和Qtopia Core,继承了Qt4的新技术,包括:高性能渲染引擎、模板容器类及基于行为的主窗口架构,改进的功能特点包括文本渲染与
多线程技术。当编译Qtopia Core时,可以去除不用的功能,以最小化软件的占用空间。