什么是qt?
简单点说,Qt 就是一个跨平台的 C++ 图形用户界面库,可以同时支持桌面应用程序开发、嵌入式开发和移动开发,覆盖了现有的所有主流平台。
可以做什么
使用 Qt 开发的程序非常多。自从1997年Qt被用来开发Linux桌面环境KDE大获成功开始以来,QT就成为了Linux 环境下开发 C++ GUI 程序的事实标准。
虽然在Windows下,GUI解决方案比较多,基于C++的有Qt、MFC、WTL、wxWidgets、DirectUI、Htmlayout等等,基于C#的有 WinForm、WPF等等,基于Java的有AWT、Swing等等,但是qt依然占据了很大部分。
在消费类电子、工业控制、军工电子、电信/网络/通讯、航空航天、汽车电子、医疗设备、仪器仪表等相关行业,也都有 Qt 的影子。
最近因为写自动化测试软件,开始搞pyqt,用python、Qt联合开发,发现原来qt还开发了这么多的产品。
这其中不乏YY语音,咪咕音乐,WPS Office,虾米音乐,Google地图等等我们耳熟能详的应用。
Qt有什么特点优点?
简单易学
Qt 封装的很好,少量代码就可以开发出一个简单的客户端,他的宗旨也是 code less , crate more 。
面向对象
良好封装机制使得Qt的模块化程度非常高,可重用性较好,便于移植。这一点对于用户开发来说是非常方便高效的。
并且Qt提供了一种称为信号与槽signals/slots的安全类型来替代callback,这使得各个功能模块之间的协同工作变得十分简单,也很容易理解。
大量的开发文档
前些年资料还是很少的,但是随着Qt的发展以及越来越多的开发者,资料也越来越丰富了,这些都能够成倍降低学习成本。
漂亮的界面
Qt 很容易做出漂亮的界面和炫酷的动画,并且支持 2D/3D 图形渲染,支持 OpenGL,而 MFC、WTL、wxWidgets 比较麻烦。
独立安装
Qt 程序最终会编译为本地代码,不需要其他库的支撑,而Java要安装虚拟机,C#要安装 .NET Framework。
优良的跨平台特性
如果你的程序需要运行在多个平台下,同时又希望降低开发成本,Qt 几乎是必备的。qt的开发方式可以参考Qt值得学习吗?详解Qt的几种开发方式
丰富的 API
Qt包括几百个C++类,还提供基于模板的file,I/O device,directory management,collections,serialization,date/time 类等等。
最后
如果用户使用 C++,并且对库的稳定性,健壮性要求比较高,并且希望跨平台开发的话,那么使用 Qt 是较好的选择。