C++ GUI 库推荐

C++ 由于其语法的复杂性, 很多人都选择使用其它的语言开发图形界面

当然, C++ 也有优秀的图形界面库, 就推荐几个 (以下为自己的观点, 不代表绝对)

1. Qt 

C++ GUI 库推荐

作为近几年火爆的库, Qt 支持 Python, Cpp, QML 三大语言, 很先进的跨平台库

使用的 AutoDesk Maya, 咪咕音乐, Skype等皆用 Qt 编写

优点: Qt 支持窗体的设计, 可以通过拖拽的方式实现主窗口的设计, 可以自动排版界面. Qt 可以说是几乎无可挑剔, 其优秀的跨平台特性, 也就是说只要学会 Qt, linux, windows, mac os编程不在话下, Qt 对原本复杂的 GUI 程序进行了完善的封装, 使得 GUI 编程十分简单, 无需像 MFC 那样还需掌握大量函数与术语. Qt 设计了大量的类的继承关系, 使得管理方便. 在Windows中, Qt 几乎完全脱离了对 win32 API 的依赖, 都有自己的类. 代码量小, 同时参考资料丰富, 对初学者十分友好.

缺点: Qt 配置有一点麻烦, 可能出现一些难办的问题 (当然大部分问题是自己没设计好的问题). 

 

2. MFC ( Microsoft Foundation Classes )

MFC 是一个非常传统的 win32 库, microsoft 已经停止了对其的更新, 不跨平台

优点: 对于还在传统 win32 程序员来说还是不错的选择, 对 Windows API 进行了部分的封装.

缺点: 很明显, 停止更新, 不跨平台是其严重的缺点. mfc 已经很老了, 代码量极大, 项目过于庞大臃肿, 管理不便. 拖拽式编程虽然貌似跟 Qt 一样, 但其实上这样设计出的是对话框程序, 而不是标准的主窗口程序. 学mfc 还需了解很多 Windows 编程的知识, 对初学者极不友好, 参考资料甚少, microsoft docs 对 mfc 的介绍过于理论化, 没有实例, 使得初学者难懂. 封装不够全面, 还存在着大量的对 Windows API 的依赖.

相关推荐