博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
wxWidgets和QT之间的选择
阅读量:4298 次
发布时间:2019-05-27

本文共 1407 字,大约阅读时间需要 4 分钟。

 跨平台的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更值得一用。

 

转载地址:http://chnws.baihongyu.com/

你可能感兴趣的文章
TB创建公式应用dll失败 请检查用户权限,终极解决方案
查看>>
python绘制k线图(蜡烛图)报错 No module named 'matplotlib.finance
查看>>
talib均线大全
查看>>
期货市场技术分析06_长期图表和商品指数
查看>>
期货市场技术分析07_摆动指数和相反意见理论
查看>>
满屏的指标?删了吧,手把手教你裸 K 交易!
查看>>
不吹不黑 | 聊聊为什么要用99%精度的数据回测
查看>>
X 分钟速成 Python
查看>>
对于模拟交易所引发的思考
查看>>
高频交易的几种策略
查看>>
一行 Python 实现并行化 -- 日常多线程操作的新思路
查看>>
win10和ubuntu18双系统时间同步(20190604亲测可行)
查看>>
命令行或终端ImportError:No module named(pycharm运行没问题)
查看>>
量化策略回测ATRRSI
查看>>
量化策略回测tdma
查看>>
量化策略回测TRIXKDJ
查看>>
量化策略回测唐安奇通道
查看>>
CTA策略如何过滤部分震荡行情?
查看>>
量化策略回测DualThrust
查看>>
量化策略回测BoolC
查看>>