您的位置:首页 > 编程语言 > Qt开发

wxWidgets和QT之间的选择

2015-09-09 23:09 232 查看
 跨平台的C++ GUI工具库很多,可是应用广泛的也就那么几个,Qt、wxWidgets便是其中的翘楚

这里把GTK+排除在外,以C实现面向对象,上手相当困难,而且Windows平台下执行相当慢且不稳定。

Qt和wxWidgets各有各的优点,也各有各的缺点,各有各的适合应用点。

工作环境和爱好限制,个人曾经分别使用过Qt和wxWidgets,

到现在,就个人而言,选择在一般程序方向采用wxWidgets,在手机应用程序方向采用Qt。

先说版权:

 Qt,是芬兰的TrollTech公司研发的,现在属于Nokia,一直奉行的是双LICENSE策略,一个是商业版,一个是免费版:商业版的LICENSE就不说了,免费版的LICENSE,4.5版本之前一直采用GPL,意味着采用Qt的程序要么是商业软件,要么就是GPL软件,这就造成了虽然出了个著名的KDE,可惜应用范围还是受限,否则的话,应用应该更广阔点;不过还好,Nokia收购了之后意识到这个问题,4.5版本之后采用了LGPL,其他开发人员可以发布基于免费Qt库连接的商业软件了。

wxWidgets,一直奉行的是LGPL LICENSE。

再评评各自的优缺点:

Qt,一直以来开发公司作为商业公司进行运作,以客户需求为目标,提供了一系列完整的文档和RAD工具,并提供最为完整的平台支持;

对开发人员而言,Qt库本身,也是所有的GUI工具库中最为面向对象化的,同时也是最为稳定的。

罗列一下:

    Qt的优点:

        1. 支持的平台最多

        2. 商业化支持

        3. 完整的文档和RAD工具

        4. 最为面向对象

        5. 世界上最为成功的手机厂商支撑,对于移动终端的支持最为完善

    Qt的缺点:

        1. 使用的是非标准C++

        2. 每个平台不是"Native GUI"

        3. 过于庞大且运行缓慢

        4. 与其它库不是很兼容(主要是STL之类的兼容问题

        5. 基本只能使用特定的qmake工具(其它工具经过良好的修改也可以,不过相当于重新编写一个qmake,是否值得)

 wxWidgets,一直以来的LGPL发布,相当开放,积累了相当一部分研究用户,与现有各类工具库无缝连接地非常好;

    同时可惜的是没有非常强大的正规商业化运作,可靠性、资源丰富性远比不上Qt。

    还是罗列一下:

    wxWidgets的优点:

        1. 开放,对于各类第三方库的良好兼容(TAO工具中的Naming_Service Viewer就是采用wxWidgets的)

        2. 支持各平台的"Native GUI"

        3. 虽然有庞大的库,运行效果极为显著

        4. 对各类现有工具的支持(笔者就采用MPC一站式产生所有项目的编译工程)

        5. 偏MFC,对于Windows平台MFC程序的跨平台迁移,具有天然的优势

        6. XRC,则提供了代码和设计分离的便利,程序员专注整体开发,UI设计群体则提供运行期界面、多语言版本支持功能等

    wxWidgets的缺点:

        1. 由于是偏MFC,则面向对象封装做得不是非常好

        2. 相对缺乏的文档、资源

        3. 缺乏很好的商业化支持,如果商业软件出问题需要支持,稍微麻烦点

    总之:
        在采用第三方工具库的复杂PC应用环境,有一定的底子,wxWidgets是不二的选择
        在只需采用Qt单一工具库的应用环境,Qt是个不错的选择;特别是类似于手机这种嵌入式设备环境,由于Nokia的加入,Qt更值得一用。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: