看看以前写的这篇文章,感觉太好,但是没有说透彻,使用QT开发这么时间,有了新的认识和体会。

   如果不使用任何框架库,只使用标准的C++来开发应用程序的话,特别是有界面的那种应用程序,开发难度是很大的,在写这些应用程序前,得自己开发各种各样的界面部件,还得自己写诸如连接,读取,操作数据库的常用方法,还要写和系统相关网络函数等,这几乎是不可能完成的。就好比做饭之前,得先种粮食,蔬菜,然后才能做饭。

   有了第三方的框架库,如QT,MFC什么的,就可以借助别人写好的程序,具体说是一系列的API,像界面部件,操作数据库,网络编程什么的常用方法,拿过来就用。开发程序,最大程度地利用别人已开发好的东西,就可以快速开发应用程序。

  而Qt就是最精巧的框架库,至少比MFC好用,这是个人感觉。Qt是完整意义上的面向组件开发,比面向对象地开发更高级。学习Qt,最好的方式是能快速地学习怎么调用API,当然这得建立在C++比较熟练的基础上。

QT具备以下优势:

    一 跨平台特性,避免重复造车轮

    二 QT本身优良的机制,使用面向组件编程。

    三 把精力放在核心功能的实现上,而不是源码本身。

    四 能构造出艺术级的界面,设计界面方便。

具体介绍如下:

 一 跨平台特性,避免重复造车轮

    写一次源代码,能在不同的系统平台下编译,这个功能很强大,目前,还没有什么软件与它相比。有人说flex build可以跨平台,那么,二者效率不可同日而语,Qt的效率还是不错的。

    笔者使用Qt这么长时间,如果项目中使用的类不是第三方的,所开发的程序能完美在不同系统,不同体系的平台上运行。如一个监控项目,所开发的程序,除了引用第三方的串口类以外,其它源码不用改动,就可以在不同的平台下编译。即便是第三方的串口类,只是修改了一个条件编译参数,仅此而已。

二 QT本身优良的机制,使用面向组件编程。

   面向组件的编程,是相对于面向过程和对象编程来说的,面向组件编程更具有优势,什么是面向组件编程呢?打个比方,如果你要建设一个房子,有很多方式,假如建筑材料是砖,水泥,沙子,大梁,楼板等。建造房子时,我们在地基上,必须先拌水泥和沙子,然后把砖一块块地垒成墙,再上大梁,然后铺上楼板,这就是一个面向过程的编程。

   面积组件的编程就是,建筑材料是做好的一面面墙,屋顶,建成房屋时只需把墙和屋顶组合起来就行了。面向组件的编程是用别人做好的代码块,拿过来直接用,所以编程优势比较明显。

   QT的类库十分丰富,有几千个不同的API,也就是方法,只要你熟悉这些API的参数用法,就可以直接拿过来用,像连接数据库,QT已经写好常见的数据库操作方法,使用时,不需要再编写,只需要拿过来,直接用就好了。

三 把精力放在核心功能的实现上,而不是源码本身。

 QT使用了面向组件的编程机制,所利用Qt编程时,能解放出程序员的编码工作量,所以,程序员把精力放在业务的实现就可以了。利用前人的源码,直接实现自己要做的业务。

 使用QT编程确实大大提高工作效率,并且代码质量也很高,因为调用的方法大都很成熟,这就是编程的微妙之处。

四 能构造出艺术级的界面,设计界面方便。

 QT设计界面非常精巧,能用源码直接描述,效率很高。在设计界面时,因为有了布局这个概念,设计界面时,大大提高了设计效率。不像VS,写个界面很死板。也许有人说,我可以用界面设计师呀!但不要忽略效率。