Qt 是一个跨平台的C++应用程序框架,支持Windows、Linux、Mac OS X、Android、iOS、Windows Phone、嵌入式系统等。也就是说,Qt 可以同时支持桌面应用程序开发、嵌入式开发和移动开发,覆盖了现有的所有主流平台。你只需要编写一次代码,发布到不同平台前重新编译即可。

Qt 不仅仅是一个GUI库,它除了可以创建漂亮的界面,还有很多其他组件,例如,你不再需要研究STL,不再需要C++的<string>头文件,不再需要去找解析XML、连接数据库、Socket 的各种第三方库,这些 Qt 都已经内置了。

Qt 是应用程序开发的一站式解决方案!

Qt 虽然庞大,封装较深,但它的速度并不慢,虽不及MFC,但比Java、C#要快。Qt 程序最终会编译成本地代码,而不是依托虚拟机。

Qt 命运多舛,总共经历了三家公司:

  • Qt 由奇趣科技公司(Trolltech)的两位创始人于1990年着手开发,1995年发布Qt  1.0。
  • 2008年,奇趣科技被诺基亚公司收购,Qt 也因此成为诺基亚旗下的编程语言工具。
  • 在智能手机的冲击下诺基亚大厦轰然倒塌,2012年将 Qt 转让给Digia公司。

Digia 是一家总部位于芬兰的IT业务供应商,每天向全球数以百万的人提供通讯技术的及时解决方案,业务涉及电信、工业、贸易、金融等,客户包括诺基亚、索尼爱立信、惠普、甲骨文等全球一流企业。 超过1200名研发精英分别位于芬兰、瑞典、爱沙尼亚、俄罗斯、中国等地为客户提供端到端的服务。


Qt 可以做什么:

使用 Qt 开发的程序非常多。1997年,Qt 被用来开发 Linux 桌面环境 KDE,大获成功,使 Qt 成为 Linux 环境下开发 C++ GUI 程序的事实标准。Linux 也是嵌入式的主力军,广泛应用于消费类电子、工业控制、军工电子、电信/网络/通讯、航空航天、汽车电子、医疗设备、仪器仪表等相关行业,这些地方都有 Qt 的影子。

在 Windows 下,GUI 解决方案比较多,基于C++的有 Qt、MFC、WTL、wxWidgets、DirectUI、Htmlayout,基于C#的有 WinForm、WPF,基于Java的有AWT、Swing,基于Pascal的有Delphi,还有国内初露头角的 aardio;如果你有Web开发经验,也可以基于Webkit或Chromium将网页转换为桌面程序。

总之,没有哪一种方案能够独霸Windows,用 Qt 来开发 Windows 桌面程序有以下优点:

  • 简单易学:Qt 封装的很好,几行代码就可以开发出一个简单的客户端,而 MFC 封装简陋,还需要了解 Windows API,普遍反映难学。
  • 资料丰富:资料丰富能够成倍降低学习成本,否则你只能去看源码,关于 DirectUI、Htmlayout、aardio 的资料就很少。
  • 漂亮的界面:Qt 很容易做出漂亮的界面和炫酷的动画,而 MFC、WTL、wxWidgets 比较麻烦。
  • 独立安装:Qt 程序最终会编译为本地代码,不需要其他库的支撑,而 Java 要安装虚拟机,C#要安装 .NET Framework。
  • 跨平台:如果你的程序需要运行在多个平台下,同时又希望降低开发成本,Qt 几乎是必备的。

下面的程序都使用 Qt 开发:

WPS、YY语音、Skype、豆瓣电台、虾米音乐、淘宝助理、千牛、暴雪的战网客户端、VirtualBox、Opera、咪咕音乐、Google地图、Adobe Photoshop Album 等。

但是,由于Android本身支持Java,iOS本身支持Objective-C和Swift,所以Qt 在移动端的贡献寥寥无几。

总起来说,Qt 主要用于桌面程序开发和嵌入式开发。

Qt发展历史及其特点简介相关推荐

  1. 【Qt】Qt发展历史

    00. 目录 文章目录 00. 目录 01. Qt是什么 02. Qt的历史 03. Qt和KDE 04. Qt和智能手机 05. Qt历史发展 06. 附录 01. Qt是什么 Qt是跨平台的开发库 ...

  2. Linux的发展历史及版本简介

    Linux发展历史及常用版本介绍 由于最近一段时间的学习要基于Linux操作系统.之前在各个版本的Linux之间看的眼花缭乱,那么经过自己查阅和总结之后,对Linux的发展历史和现在目前比较流行的Li ...

  3. 视频技术发展历史:MPEG-4技术简介

    http://blog.sina.com.cn/s/blog_48c5b1f10100warw.html MPEG4于1998年11月公布,原预计1999年1月投入使用的国际标准MPEG4不仅是针对一 ...

  4. ES6简介与发展历史(ES笔试题、简介、ECMAScript 背景、ECMAScript 历史)

    目录 ES6简介与发展历史 1.简介 2.ECMAScript 背景 3.ECMAScript 历史 ES6简介与发展历史 1.简介 ES6, 全称 ECMAScript 6.0 ,是 JavaScr ...

  5. Qt图形界面编程入门(Qt的历史、Qt安装资源链接、Qt Creator简介)

    Qt的历史渊源 Qt是1991年由挪威的奇趣科技(Trolltech)公司开发的跨平台C++图形用户界面(GUI)用程序开发框架,2008年,奇趣科技公司被诺基亚公可收购,Qt也因此成为诺基亚公司旗下 ...

  6. AI之HCI:人机交互Human-Computer Interaction的简介、发展历史、案例应用之详细攻略

    AI之HCI:人机交互Human-Computer Interaction的简介.发展历史.案例应用之详细攻略 目录 人机交互Human-Computer Interaction的简介 1.人机交互的 ...

  7. NLP之ASR:语音识别技术(Automatic Speech Recognition)的简介、发展历史、案例应用之详细攻略

    NLP之ASR:语音识别技术(Automatic Speech Recognition)的简介.发展历史.案例应用之详细攻略 目录 语音识别技术(Automatic Speech Recognitio ...

  8. OpenWrt 版本发展历史简介

    作者:佐须之男,精通嵌入式Linux开发,专注于OpenWrt等开源路由器系统的开发.培训.技术咨询,拥有15年的Linux使用经验. 前言:相信很多网友对OpenWrt发行版的版本特别疑惑,所以我根 ...

  9. EF 框架的简介、发展历史;ORM框架概念

    一.EF 框架简介 EF 全称是 EntityFramework .   Entity Framework是ADO.NET 中的一套支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架. OR ...

最新文章

  1. http连接过程遇到的各种性能瓶颈
  2. Andriod监听支付宝收款实现个人支付宝支付接口!附安卓App
  3. 大学课程重新学习-操作系统
  4. 楼市调控要“围堵”更要“疏通”
  5. Apache启动过程(PHP_MINIT_FUNCTION的调用)
  6. 每天一道LeetCode-----合并两个/多个有序链表为一个新链表
  7. security中常用的加密算法
  8. Spring动态代理机制理解
  9. [笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程
  10. iOS 视频播放器旋转问题小结
  11. 工业交换机在智能交通电子警察系统解决方案的应用
  12. 智慧灯杆智能网关喷雾降尘系统
  13. 计算机丢失msvc80.dll,msvcr80.dll
  14. IRP(I/O Request Package)详解
  15. 多张图片合并一张图片,在中间添加文字
  16. GSM模块TCP初始化流程
  17. match against
  18. 404_NOTE_Foung_软工6
  19. 神经网络与深度学习(一)
  20. Axure的安装教程

热门文章

  1. Commonly Used Afx Functions
  2. fm24c16c语言程序,铁电存储器FM24C16驱动程序(转)
  3. TFLearn Input_data 与 fully_connected
  4. android如何保证service不被杀死
  5. 讨教学员备考经验|高分上岸中质协六西格玛黑带!
  6. 分布式数据库集成解决方案
  7. TA 数学函数与美术的结合
  8. java的强项_JAVA的三个开发方向
  9. 电脑没有Hyper-V的解决方法,该咋办?
  10. SSM之echarts视频-Array-专题视频课程