首页| 论坛| 消息

标题:【原创】【编著】【技术专题】qt飞翔的心 (第一章 概论)
作者:fanyu
日期:2005-09-01 14:51
内容:

现在我是一个没有开发压力的技术编辑。我仍旧喜爱C++, 仍旧喜欢研究各种类库和framework。但是由于没有开发压力, 我可以用“ 好玩” 、“ 优美” 这一类的词来评价它们, 这真是一件愉快的事情。我个人最喜欢的framework是MFC, 但是MFC只应用在Windows下,并且用了太多的微软扩展特性, 这就让它成了一个“ 不好玩”的framework。第一次听说Qt是从一个朋友的口中,他告诉我这是一个具有强大跨平台能力的framework,在Windows和Linux之间移植软件完全不用修改代码。同时这也是一个开放源代码的framework——这让我立刻想到:Qt很可能是一个“好玩”的framework。
2001 年11月15日, 下载了一个Qt 2.3 for Windows 非商业版,开始了我与Qt的初接触。强大的QtQt的GUI风格与Java的Swing库有几分相似, 不过不要被表面现象迷惑:Qt并不是一个轻量级的framework。相反,Qt在Windows下编译出的程序很可能比MFC程序还要大, 而且还需要重达几兆的动态链接库支持。而且, 编译一个Qt程序需要先用moc预编译, 需要先翻译XML资源文件, 使得它的编译速度大大降低。这都让许多人对它诟病诸多。但是这些开销换来的是强大的功能, 尤其是极强的可移植性。Qt对不同的操作系统做了近乎完美的封装, 使得它能够提供真正的“ 一次编码, 到处编译” 的静态移植能力。与Java的动态移植能力不同, 这种静态移植将软件的效率损失也降到了最低, 从而能得到更加广泛的应用。Linux上常见的GUI系统KDE就是用Qt开发的, 这足以证明Qt的强大。
开放的Qt:现在的Qt遵循GPL协议,开放主要源代码,用户也可以遵循GPL的规定自由添加自己的新特性。经常听朋友说“开放的软件才有生命力” , 那么Qt 应该是很有生命力的一个framework了。对于程序员来说, 一个开放的framework也更容易学习和掌握。好玩的Qt为了获得“一次编码,到处编译”的强大跨平台移植能力,Qt的设计者们尽量用通用的格式来封装平台相关(乃至编译器相关) 的内容: 预编译器处理后生成的全部是标准C++代码; 资源文件用XML格式保存; 不采用C++内建的RTTI和高级模板特性,而是在单根继承体系中用面向对象的方式实现动态方法调用。 这就让Qt 成了一个真正“好玩” 的f r a m e w o r k 。其中的一些很有趣的特性, 如property、消息处理、组件模型等等,你都可以用标准C++模拟出来。对于想学习framework体系设计的C++程序员来说,Qt具有相当高的研究价值。飞翔的心Qt是一个相 ..

回复 发表
主题 版块