为什么选择Qt?

来源:互联网 发布:普朗克常数算法 编辑:程序博客网 时间:2024/05/02 02:28

选择何种Guilib取决于项目的需求,譬如仅仅需要在Windows平台下能运行,那么用MFC就行了。然而谁都希望一次编写,到处编译。最终敲定使用Qt开发图形界面。那么Qt到底如何呢?

Qt软件前身为 Trolltech (奇趣科技),20086月被诺基亚收购。之后推出的Qt4.5 SDK 是以 LGPL 2.1 方式授权的,在Qt4.5之前,Qt在修改的GPL授权协议下发布,这意味着要么将程序开源,要么付费(而且价格不菲)。Qt4.5既然是在LGPL授权协议下发布,就意味着即使是使用它来开发商业程序,也可以不需要向Troll Tech公司购买授权许可。真是帅呆了!

而从网上搜罗了下Qt的优点,非常之多,而我认为一个sdk的优点之所以成为优点,都是通过比较中才体现出来的,如果一个优点同类产品多数也具备了,那么这个优点也就不是不再是成为优点的一个理由。所以我这里较少描述或者直接忽略诸如“XML支持”的优点。

1、作为一个多平台的C++图形用户界面应用程序框架,支持Windows,Mac,Linux/X11,嵌入式Linux,WindowsCES60平台。

2Qt是完全面向对象的,其良好封装机制使得Qt的模块化程度非常高,可重用性较好,并且允许真正地组件编程。Qt提供了一种称为signals/slots的安全类型来替代callback,这使得各个元件之间的协同工作变得十分简单。

3、丰富直观的c++类库

Qt包括多达250个以上的C++类,还替供基于模板的collectionsserializationfileI/Odevicedirectorymanagementdate/time类。还包括正则表达式的处理功能。

4、具有跨平台IDE的集成开发工具

QtIDE很多,QtDesignerQtCreatorQDevelopEdyuk等,也能够同流行的IDE,如Visual StudioEclipse或者XCode进行整合。

5、支持2D/3D图形渲染,支持OpenGL

6、在嵌入式系统上的高运行时间性能,占用资源小;

7QT库在国际化和本地化方面十分突出,使用其开发的软件在实现多语言版本的软件时相当方便。

8、大量的开发文档;

其实除了Qt外,wxWidgetsGTK+都是十分值得考虑的选择,它们各有优势。然而gtk+一般说来开发门槛较高,wxWidgets优点不少,但是中文支持有点问题,而且从网上能搜罗到资源方面,Qt的资源显然比wxWidgetsGTK+要多得多。而先前qt颇受诟病的授权问题从Qt4.5之后也已经不存在了。

从目前的使用来看,KDEOpera浏览器用Qt开发,而今年6月报道Qt SDK已经变成中科红旗最新推出的红旗 Linux 桌面 7.0 版的组件(http://qt.nokia.com/about-us-cn/news/the-qt-sdk-is-now-included-in-the-largest-linux-distribution-in-china-1)。此外,IBMBorland Kylix也是Qt的用户。从Qt的使用情况这一角度来看,它是比较可靠的。

总结起来,Qt具有以下优点:跨平台、GUI框架成熟、良好的2D/3D能力,多线程支持良好,且有较多的业内成功范例。此外,目前Qt项目本身开发进度快,我们学习起来文档丰富,容易上手。

主要参考:

1Qt简介,
http://www.ibm.com/developerworks/cn/linux/guitoolkit/qt/overview/

2】知名 GUI lib 简评 (GTK+, Qt, wxWidgets)
http://yuanmuqiuyu2000.blog.sohu.com/101517012.html

原创粉丝点击