认识Qt

什么是Qt

Qt是一个针对桌面、嵌入式、移动设备的一个跨平台的应用程序开发框架,支持的平台包括Linux、OS X、Windows、VxWorks、QNX、Android、iOS、BlackBerry(黑莓)、Sailfish OS(旗鱼操作系统)等。

Qt 1991年由Trolltech-奇趣科技(成立于1994年)开发,2008年,Trolltech被Nokia收购,2012年,Qt被Digia收购。

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

Qt是基于C++编写的框架,它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。预处理器,MOC(全称:Meta-Object Compiler-元对象编译器)用于扩展C++,如:信号和槽的特性。在编译之前,先使用MOC分析Qt扩展的C++源文件(检测是否包含Q_OBJECT宏),然后生成符合C++标准的源文件(新文件名将会由moc_加上原文件名构成)。因此框架本身和应用程序/库使用它能被任何符合标准C++的编译器(像Clang、GCC、 ICC、MinGW 和MSVC)所编译。

发展史

  • 1996 OctKDE组织成立
  • 1998 Apr 05Trolltech的程序员在 5 天之内将 Netscape5.0 从Motif移植到 Qt 上
  • 1998 Apr 08 KDE Free Qt 基金会成立* 1998 Jul 09 Qt 1.40 发布
  • 1998 Jul 12 KDE 1.0 发布
  • 1999 Mar 04QPL1.0 发布
  • 1999 Mar 12 Qt 1.44 发布
  • 1999 Jun 25 Qt 2.0 发布
  • 1999 Sep 13 KDE 1.1.2 发布
  • 2000 Mar 20嵌入式Qt 发布
  • 2000 Sep 06 Qt 2.2 发布
  • 2000 Oct 05 Qt 2.2.1 发布
  • 2000 Oct 30 Qt/Embedded 开始使用GPL宣言
  • 2000 Sep 04 Qt free edition 开始使用 GPL
  • 2008 Nokia从Trolltech公司收购Qt, 并增加LGPL的授权模式
  • 2011 Digia从Nokia收购了Qt的商业版权,从此Nokia负责Qt on Mobile, Qt Commercial由Digia负责
    根据最新消息,NOKIA已经停止Meltemi系统开发,QT部门被解散
  • 2012 Aug 09 作为非核心资产剥离计划的一部分,诺基亚宣布将Qt软件业务出售给芬兰IT服务公司Digia。
  • 2013年7月3日,Digia公司Qt开发团队在其官方博客上宣布Qt 5.1正式版发布。
  • 2013年12月11日,Digia公司Qt开发团队宣布Qt 5.2正式版发布。
  • 2014年4月,Digia公司Qt开发团队宣布Qt Creator 3.1.0正式版发布。
  • 2014年5月20日,Digia公司Qt开发团队宣布Qt 5.3正式版发布。

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 等。

Qt的优点

Qt同X Window上的 Motif、Openwin、GTK 等图形界面库和 Windows平台上的 MFC、OWL、VCL、ATL是同类型的东西,但是 Qt 具有下列优点:

  • 优良的跨平台特性
    Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。

  • 面向对象
    Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。

  • 丰富的 API
    Qt包括多达250个以上的C++类,还替供基于模板的collections、serialization、 file、I/O device、 directory management、date/time 类。甚至还包括正则表达式的处理功能。

  • 支持 2D/3D 图形渲染,支持 OpenGL

  • 大量的开发文档

  • XML 支持


Qt Creator

简介

在发布 Qt 4.6 的同时,作为 Qt 开发跨平台 IDE 的Qt Creator也发布了更新版本。Qt Creator 1.3 和 Qt 4.6共同构成的 Qt SDK,包含了开发跨平台应用程序所需的全部功能。

Qt Creator是一个用于Qt开发的轻量级跨平台集成开发环境。Qt Creator可带来两大关键益处:提供首个专为支持跨平台开发而设计的集成开发环境 (IDE),并确保首次接触Qt框架的开发人员能迅速上手和操作。即使不开发Qt应用程序,Qt Creator也是一个简单易用且功能强大的IDE。

Qt Creator 包括项目生成向导、高级的 C++ 代码编辑器、浏览文件及类的工具、集成了 Qt Designer、Qt Assistant、Qt Linguist、图形化的 GDB 调试前端,集成 qmake 构建工具等。

功能和优势

QtCreator 主要是为了帮助新 Qt 用户更快速入门并运行项目,还可提高有经验的 Qt 开发人员的工作效率。

  • 使用强大的 C++ 代码编辑器可快速编写代码
    语法标识和代码完成功能输入时进行静态代码检验以及提示样式上下文相关的帮助代码折叠括号匹配和括号选择模式高级编辑功能

  • 使用浏览工具管理源代码
    集成了领先的版本控制软件,包括 Git、Perforce 和 Subversion开放式文件,无须知晓确切的名称或位置搜索类和文件跨不同位置或文件沿用符号在头文件和源文件,或在声明和定义之间切换

  • 为Qt跨平台开发人员的需求而量身定制
    集成了特定于 Qt 的功能,如信号与槽 (Signals & Slots)图示调试器, 对 Qt 类结构可一目了然集成了 Qt Designer 可视化布局和格式构建器只需单击一下就可生成和运行 Qt 项目。


Qt Designer

Qt Designer被称为Qt设计师,用于设计和构建图形用户界面(Qt Widgets)。你可以组合和自定义窗口或对话框(所见即所得),并使用不同的风格和分辨率进行测试。用Qt Designer创建的窗口部件和表格无缝集成编程代码,采用Qt信号和槽机制,这样就可以轻松地分配图形元素的行为。在Qt设计师中设置的所有属性可以动态地在代码中进行更改。此外,类似插件推广和自定义插件功能,可以使用自己的组件来使用Qt Designer。

注意:你也可以选择使用Qt Quick来设计用户界面,而不是Qt Widgets。这样更容易写各种各样的应用。它可以完全定制外观,触摸反应的元素,流畅的动画过渡,支持OpenGL图形加速功能。如果刚接触Qt Designer,可以看看Qt设计师文档。有关如何使用Qt设计师,请参阅Qt设计师快速入门。

Qt Assistant

Qt Assistant被称为Qt助手,是Qt自带的一款可定制、可重新发行的帮助文件浏览器。它支持HTML文件,用户可以利用其定制自己的功能强大的帮助文档浏览器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值