一QT概述
1.1什么是QT
qt 是一个跨平台的 c++ 开发库,主要用来开发图形用户界面( Graphical User Interface , GUI )程序,当然也可以开发不带界面的命令行( Command User Interface , CUI )程序。Qt 是纯 C++ 开发的,所以学好 C++ 非常有必要。Qt 还存在 Python 、 Ruby 、 Perl 等脚本语言的绑定, 也就是说可以使用脚本语言开发基于 Qt 的程序。开源社区就是这样,好东西就会被派生扩展,到处使用, 越来越壮大。Qt 支持的操作系统有很多,例如通用操作系统 Windows 、 Linux 、 Unix ,智能手机系统 Android 、iOS 、 WinPhone , 嵌入式系统 QNX 、 VxWorks 等等。
1.2 Qt可以做什么?
Qt 虽然经常被当做一个 GUI 库,用来开发图形界面应用程序,但这并不是 Qt 的全部; Qt 除了可以绘制漂亮的界面(包括控件、布局、交互),还包含很多其它功能,比如多线程、访问数据库、图像处理、音频视频处理、网络通信、文件操作等,这些 Qt 都已经内置了。Qt 是应用程序开发的一站式解决方案,有了 Qt ,你就可以高枕无忧了! Qt 本身包含的模块也日益丰富, 一直有新模块和第三方模块加入进来。大部分应用程序都可以使用 Qt 实现,除了与计算机底层结合特别紧密的,例如驱动开发,它直接使用硬件提供的编程接口,而不能使用操作系统自带的函数库。1997 年, Qt 被用来开发 Linux 桌面环境 KDE ,大获成功,使 Qt 成为 Linux 环境下开发 C++ GUI 程序的事实标准。下面的程序都使用 Qt 开发: WPS 、 YY 语音、 Skype 、豆瓣电台、虾米音乐、淘宝助理、千牛、暴雪的战网客户端、 VirtualBox 、 Opera 、咪咕音乐、 Google 地图、 Adobe Photoshop Album 等。Qt 虽然也支持手机操作系统,但是由于 Android 本身已经有 Java 和 Kotlin , iOS 本身已经有Objective-C 和 Swift ,所以 Qt 在移动端的市场份额几乎可以忽略。总起来说, Qt 主要用于桌面程序开发和嵌入式开发。
1.3 QT和智能手机
Qt 目前支持主流的 Android 、 iOS 、 WinPhone 等智能机操作系统。 MeeGo 是基于 Qt 开发的操作系统,由于被诺基亚抛弃了, 只剩一代绝版诺基亚 N9 手机。诺基亚手机部门出售给微软之后,大部分诺基亚手机系统开发人员都被遣散了。Qt 公司有专门针对移动开发的商业版本, 20 欧元或 25 美元一个月。不做商业可以无视这个,用开源版本也是可以开发如 Android 、 iOS 、 WinPhone 应用的。
1.4 QT发展史
Qt 最早是 1991 年由挪威的 Eirik Chambe-Eng 和 Haavard Nord 开发的, 他们随后于 1994 年 3 月4 号正式成立奇趣科技公司(Trolltech )。 Qt 原本是商业授权的跨平台开发库, 在 2000 年奇趣科技公司为开源社区发布了遵循 GPL ( GNU General Public License )许可证的开源版本。 在 2008 年,诺基亚公司收购了奇趣科技公司,并增加了 LGPL ( GNU Lesser General PublicLicense )的授权模式。诺基亚联合英特尔利用 Qt 开发了全新的智能手机系统 MeeGo ,可惜遭遇了微软木马屠城,诺基亚被迫放弃了 MeeGo , 而 Qt 商业授权业务也于 2011 年 3 月出售给了芬兰 IT 服务公司 Digia 。当然好消息是 Digia 于 2014 年 9 月宣布成立 Qt Company 全资子公司,独立运营 Qt 商业授权业务。目前 Qt 公司大力推广移动平台开发和商业应用, 总的来说 Qt 历经曲折,现在算是步入正轨了。经过 20 多年的发展, Qt 已经成为最优秀的跨平台开发框架之一,在各行各业的项目开发中得到广泛应用。许多大型软件都是用 Qt 开发的,如 Autodesk Maya 、 Google Earth 、 Skype 、 WPS Offiffiffice 等。
版权声明:本文为weixin_54879719原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。