(一)Qt是什么?
Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西。
Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,易于扩展,允许组件编程。
(二)Qt的发展。
基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西,但是 Qt 具有下列优点:
a) 优良的跨平台特性:
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 等等。
b) 面向对象
Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。
c) 丰富的 API
Qt 包括多达 250 个以上的 C++ 类,还替供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理 功能。
d) 支持 2D/3D 图形渲染,支持 OpenGL
e) 大量的开发文档
f) XML 支持
近诺基亚发布了Qt 4.6——新版的跨平台应用程序和用户界面框架。Qt 4.6 对全新平台提供支持,具有强大的全新图形处理能力并支持多点触摸和手势输入,让高级应用程序和设备的开发过程变得更加轻松和快乐。
诺基亚应用服务和框架副总裁Sebastian Nystrom说:“不论是什么样产品设计或开发平台,Qt 4.6的发布对开发人员来说都是一件令人兴奋的事。”
“开发人员可以轻而易举地为桌面平台或设备(包括数亿部基于Symbian 和 Maemo系统的设备)开发出具有视觉美感和网络连接功能的应用程序。”
Nystr?m补充说:“开发人员将非常喜欢使用Qt直观的编程界面,快速开发出功能强大、外表美观的应用程序。”
更多平台
Qt 4.6 首次包含了对Symbian 平台的支持,并在其所支持的平台中新增了 Windows 7、Apple Mac OS 10.6 (雪豹) 和即将上市的Maemo 6。此外还为实时操作系统QNX 和 VxWorks提供了网络社区支持。对Maemo 5 的支持目前也已进入研发阶段,其技术预览版第二版已于今日发布。
Qt 对 Symbian 和 Maemo 的支持首次为开发人员创造了使用同一代码库同时针对这两个平台进行开发的机会。能够跨平台分享代码就意味着开发人员所开发的应用程序上市的速度将更快,影响的设备用户群将更广。
Qt Mobility项目下的全新Qt API技术预览版也于今日同时发布。这些跨平台的API为开发人员提供了多种功能,如导航类设备的定位功能,以及信息发送和接收、联系人和网络连接管理等。
外观更炫
Qt 4.6是在4.5图形增强功能的基础上创建的,进一步强化了这些图形功能,添加了全新的动画框架(Animation Framework)——包括直观的状态机功能——以及全新的高级图形功能,如不透明、阴影、闪光和滤镜等。
使用手指
Qt4.6令人兴奋的新功能之一就是可以创建多点触摸应用程序。这种全新的基于多触点和手势的输入法(如轻触和动力滚动)使Qt4.6框架的功能更为强大,用户可以通过触觉以动态的方式与应用程序和设备进行互动。
性能更强
传统软件开发观点认为高级用户界面功能的获得通常是以性能严重受损作为代价的。Qt 4.6 对此观点提出了挑战,为此投入大量工作,既要获得佳性能,又要能让开发人员所开发的产品达到用户所要求的“令人惊叹”的效果。
性能提升主要包括:一个经过高度优化、重新编写的 Qt GraphicsView 渲染算法、一个全新的 OpenGL 绘图引擎、WebKit、使用 OpenVG 对 2D 矢量图形的支持,以及对全新 DirectFB 的支持。
新工具
在发布 Qt 4.6 的同时,作为 Qt 开发跨平台 IDE 的 Qt Creator 也发布了更新版本。Qt Creator 1.3 和 Qt 4.6共同构成的 Qt SDK,包含了开发跨平台应用程序所需的全部功能。(来自programbbs)
3、用QT能做什么?
在QT的官方网站谈到了15年来取得了的成就,它帮助世界各地和各个行业组织开发出先进的高度创新的应用和设备。
使用Qt,众多的开发商和公司已经能够:
● 减少了近50%的开发时间。
● 加速了50%的开发速度由于代码可维护
● 减少了50%的代码量
Qt的用户怎么说?
● 94%报告说,Qt的满足或超过其发展的期望
● 92%会向他人推荐使用Qt
● 76%报告因为使用Qt,生产率提高
(三)Qt的优点(特征)
应该说是Qt的特征:
Qt的特征包括以下几点:
1.数据库编程
Qt 3.0内建了一组独立于各平台和数据库的API,专门用来调用SQL数据库,这组API为Oracle、PostgreSQL以及MySQL提供ODBC以及特殊数据库驱动程序支持。Qt 3.0内置GUI和底层数据库同步的数据检测支持功能,使得后台数据的更改与前端界面的刷新同步,而Qt Designer亦支持这些新的控制功能,为数据库提供应用软件快速开发工具(RAD)解决方案。
2.Qt Designer
Qt Designer是一个全功能的图形用户界面开发工具,与Delphi的界面有点相似。它支持包括菜单和工具栏的应用软件主窗口的交互式设计,并且完全支持可定制模式的窗口控件。此外,Qt Designer还内置了C++编辑器,允许用户在RAD环境中直接编辑源代码。
3.Qt Linguist
Qt Linguist是一个本地化工具,能够让用户把基于Qt开发的程序从一种语言简单、智能地转变成另外一个语言,适合于开发国际版软件。它能够把程序中所有可见的文本转换成任何支持统一字符编码标准(Unicode)和指定平台的语言,它最主要的特征是一个适应特殊目的的编辑工具和多语言术语智能数据库。一旦完成新的翻译,数据库将保存这些术语,以便以后再次使用。此外,Qt Linguist还完全支持Unicode 3。
4.Qt Assistant
Qt Assistant是Qt 3.0提供的一个独立应用软件,它能够浏览Qt的类文档、Qt Designer和Qt Linguist手册。此外,它还提供了目录检索、内容纵览、书签、历史记录以及在页面内搜索等功能,功能上类似于微软的MSDN。
5.国际化文本显示
即使是在系统没有安装Unicode字体的情况下,Qt 3.0也支持多内码混合的文本。同时它亦支持从右至左以及从上至下型的语言,像阿拉伯语(Arabic)和希伯来语(Hebrew)。
6.支持HTTP和FTP网络协议
Qt 3.0的网络编程模块提供一个通过HTTP协议交换数据的API(以前版本已经实现FTP协议)。
7.支持多显示器
Qt 3.0允许应用软件支持多个显示器。在Unix平台上,Qt3.0支持Xinerama和传统的多显示器技术,而Windows平台上则是Windows 98和2000支持的虚拟桌面技术。Qt 3.0提供一个独立于系统平台的API以实现上述技术。
8.新的组件模型
这个特征类似于Windows下的COM(虽然COM也号称平台无关,但目前似乎仅在Windows平台上应用),Qt 3.0提供一
个独立于系统平台的API,以现实共享库加载等功能。
9.美观的GUI界面实现
Qt 3.0支持浮动窗口,扩展了风格引擎,支持大量的标准窗口部件, 包括进度显示条(p r o g r e s s b a r ) , 旋转框(spinbox)以及表格标题(table header)等。此外,它还为交互式文本编辑增加了图形界面控制。
10.可接近性支持
Qt可控制与提供有关可接近性体系结构的信息,通过Qt提供的标准工具可开发视觉或肢体残疾用户使用的应用软件(例如 Windows Magnifier和Narrator)。
11.64位安全
Qt 3.0支持即将推出的最新一代64位硬件。