好奇的探索者,理性的思考者,踏实的行动者。
1、wxWidgets封装了各种平台API,可以在各平台上显示原生窗口,而QT则是使用自己的框架。这样带来的好处就是,wxWidgets只专注框架代码这一层,具体实现由平台完成,wxWidgets可以做到最小,安装程序只有几十M的体积。而QT不但要做框架代码这一层,还要做API这一层,相当于在系统上又搞了一层API,因此安装体积通常几个G,甚至10几个G,非常庞大。套用某水的广告词:wxWidgets不生产API,wxWidgets只是API的搬运工。
2、wxWidgets开发出来的程序体积小。因为wxWidgets是将框架与平台API进行了剥离,所以编译后的程序非常小,这也是平台依赖度高的好处。
3、wxWidgets从1992年到现在还在不停进化,开源、简单、技术成熟、可信赖。像CodeBlocks这些IDE本身也是用wxWidgets开发的,而且这个CodeBlocks每年也推出新版本,迭代很快。至于可视化工具也很多,CodeBlocks本身就自带一个wxSmith,拖拖拉拉界面就搞定了,开发也非常方便。值得强调的是,wxWidgets也吸收了MFC、QT等各个框架的优点,语法灵活、简洁,也就是说,wxWidgets与时俱进,这也是它能发展近30年,长盛不衰的原因。
要说wxWidgets的不足,就是推广太少了,在B站上找不到视频教程,有一两个也都是老外录的,纯英文。
QT的优点,恰好也是它的缺点,QT也慢慢变成了VS一样的庞然巨兽,也授权收费。如果你真的图QT快捷,我建议还不如直接使用C#,再配上VS宇宙第一IDE,C#现在也跨平台,拖拉控件更是宇宙一绝,像内嵌C/C++是天然支持,连Python都有C#版的,语言能力爆表。桌面端自然不用说,移动端支持也非常强大。因此,个人觉得,学QT,还不如学C#,不但拓展了语言能力,开发效率也不在话下。