Qt快速入门之一:开始学习Qt 与Qt Creator

Qt 官方信息

Qt 官网:http://qt.digia.com/

Qt 开源官网:http://qt-project.org/

Qt 所有版本下载:https://download.qt.io/official_releases/qt/

一、Qt 简介

Qt 是一个跨平台的 C++ 应用程序开发框架。它提供给开发者建立图形用户界面所需的功能,广泛用于开发 GUI 程序,也可用于开发非 GUI 程序。使用 Qt,在一定程度上你获得的是一个 “一站式” 的解决方案:不再需要研究 STL,不再需要 C++ 的 <string>,不再需要到处去找解析 XML、连接数据库、访问网络的各种第三方库,因为 Qt 自己内置了这些技术。

二、Qt 的发展历史

  • 1991 年 Haavard Nord 和 Eirik Chambe-Eng 开始开发将会支持 X11 和 Windows 的 Qt;
  • 1994 年创立公司,最早名为 Quasar Technologies,然后更名为 TrollTech,然后再改为 Trolltech,中文名是“奇趣科技”;
  • 1998 年 KDE Free Qt 基金会成立;
  • 2005 年 Qt4.0 发布;
  • 2008 年 Nokia 从 Trolltech 公司收购 Qt,并增加 LGPL 的授权模式;
  • 2011 年芬兰 IT 服务公司 Digia 从 Nokia 收购了 Qt 的商业版权,从此 Nokia 负责 Qt on Mobile,,Qt Commercial 由 Digia 负责;
  • 2012 年作为非核心资产剥离计划的一部分,Nokia 宣布将 Qt 软件业务出售给 Digia;
  • 2013 年 7 月,Digia 公司 Qt 开发团队在其官方博客上宣布 Qt 5.1 正式版发布;
  • 2014 年 4 月,跨平台集成开发环境 Qt Creator 3.1.0 正式发布出来,至此,全面支持 iOS、Android、WP;
  • 2019 年,Qt 团队宣布最新版 5.13 版本发布;
  • 2020 年 5 月,官方宣布从 Qt 5.15 开始,不再发布离线安装包,都只能在线安装。如果确实需要离线安装包,则要购买 Qt for Small Business 产品;(Qt 5.15 是 Qt5 的最后一个版本)
  • 2020 年 12 月,Qt 6.0 正式发布,开始支持 C++17,更换使用 CMake 构建系统,使用 Qt Quick 统一 2D 和 3D 图形。

三、Qt 的优势特点

经过多年发展,Qt 不但拥有了完备的 C++ 图形库,而且近年来的版本逐渐集成了数据库、OpenGL 库、多媒体库、网路、脚本库、XML 库、WebKit 库等等,其核心库也加入了进程间通信、多线程等模块,极大地丰富了 Qt 开发大规模复杂跨平台应用程序的能力,真正意义上实现了其研发宗旨 “Code Less; Create More; Deploy Anywhere.”

  • 具有优良的跨平台特性:Qt 支持以下的操作系统,如 Windows、Linux、Android、iOS、mac OS、QNX、VxWorks 等等;
  • 易于开发:因为 Qt 良好的封装机制令 Qt 的模块化程度非常高并且可重用性好。而且在 Qt 中也提供了一种称为 signals/slots 的安全类型用以代替了 callback,这样子各个元件之间的协同工作都会变得简单;
  • Qt 具有丰富的 API:在 Qt 中包括了至少 250 个的 C++ 类,并且还提供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理功能),支持 2D/3D 图形渲染,支持 OpenGL、大量的开发文档、XML 支持等;
  • Qt 支持 2D/3D 图形渲染,并且支持 OpenGL;

四、Qt Creator 功能和特性

Qt Creator 是专为满足 Qt 开发人员需求而量身定制的跨平台集成开发环境 (IDE)。有以下功能:

  • 复杂代码编辑器:Qt Creator 的高级代码编辑器支持编辑 C++ 和 QML (JavaScript)、上下文相关帮助、代码完成功能、本机代码转化及其他功能。
  • 版本控制:Qt Creator 汇集了最流行的版本控制系统,包括 Git、Subversion、Perforce、CVS 和 Mercurial。
  • 集成用户界面设计器:Qt Creator 提供了两个集成的可视化编辑器:用于通过 Qt widget 生成用户界面的 Qt Designer,以及用于通过 QML 语言开发动态用户界面的 Qt Quick Designer。
  • 项目和编译管理 :无论是导入现有项目还是创建一个全新项目,Qt Creator 都能生成所有必要的文件。包括对 cross-qmake 和 Cmake 的支持。
  • 桌面和移动平台:Qt Creator 支持在桌面系统和移动设备中编译和运行 Qt 应用程序。通过编译设置您可以在目标平台之间快速切换。

五、基于 Qt 开发的产品

  • 3D Slicer: a free open source software for visualization and medical image computing;(是一个基于 VTK 的开源的可视化和医学影像计算的软件)
  • ParaView: 也是一个基于 VTK 的数据可视化的工具软件,在流体力学、空气动力学、生物医学、统计学等有数据可视化需求的领域中发挥重要的作用;
  • Google Earth: Google 开发的一款三维虚拟地图软件;
  • Opera: 著名的网页浏览器,在欧洲的市场占有率很高;
  • Qt Creator: the free software cross-platform integrated development environment from Nokia;(是由诺基亚开发的一个可以跨平台的集成 IDE)
  • Skype: 一个基于 P2P 的 VOIP 聊天软件;
  • VirtualBox: Oracle 开发的虚拟机软件;
  • YY 语音:是一个可以进行在线多人语音聊天和语音会议的免费软件,在中国拥有庞大的用户群;
  • 咪咕音乐:是中国移动倾力打造的正版音乐播放器。
  • WPS Office: 金山公司(Kingsoft)出品的办公软件,与微软Office兼容性良好。

六、Qt Quick 介绍

Qt Quick 是在 Qt4.7 中被引进的一项技术。Qt Quick 是一种高级用户界面技术,开发人员和设计人员可用它协同创建动画触摸式用户界面和应用程序。它由三部分构成:

(1)QML:像 JavaScript 一样的声明式语言;

(2)Qt Creator:在 Qt IDE 中的直观工具;

(3)Qt Declarative:强大的 C++ 模块。

1.主要组成:
QML:基于 JavaScript 的直观语言 :

  • QML 是一种简便易用的语言,开发人员与用户界面设计人员无需任何 C++ 知识,即可用其描绘出用户界面的外观和功能。
  • 面向开发人员和设计人员的共享工具:Qt Creator IDE 2.1 版将集成一套开发人员与用户界面设计人员可共享,用以创建和实施 Qt Quick 项目的通用工具。
  • 通过 C++ 推动 QML 应用程序:在 Qt 库中的全新 Declarative 模块支持生成动态可定制的用户界面,以及通过 C++ 拓展 QML 应用程序。

2.功能特点:

  • 快速开发动画式流畅多变的用户界面:通过直观的 QML 语言和一套丰富的 QMLElements—UI 和行为生成块——您可以快速创建出令人印象深刻的用户界面,比您想象的还要快。
  • 无需 C++ 知识:如果您具有 JavaScript 的经验或掌握基本的网络技术 (如 HTML 和 CSS),您就可以通过 QML 取得非常不错的成果。
  • 瞄准数以百万计的触摸屏设备:使用 Qt Quick,您可以为数以百万计的 Symbian 和 MeeGo 设备生成应用程序,或为各种类型的触摸屏消费类电子设备创建用户界面。

3.应用领域:

  • 汽车信息娱乐系统 UI:Cybercom Group 的用户界面设计人员与开发人员尝试使用 Qt Quick 为其汽车信息娱乐平台设计 UI - 并取得了令人满意的结果。
  • 社交媒体电视:mixd.tv 使用 Qt Quick 为其跨平台网络电视应用程序创建 UI,其用户可以通过社交媒体频道访问和共享在线视频的内容。
  • 联网汽车:Qt 的认证合作伙伴 Digia 很快学会了 Qt Quick 并用其创建出了包括导航、电话、游戏和音乐功能的高级汽车 UI。

Qt Widgets、QML、Qt Quick的区别,可以看这篇博客:Qt Widgets、QML、Qt Quick的区别

如果是新学 Qt 的同学,想更多了解 Qt,可以看下这篇博客:Qt简介 ,个人感觉写的不错。


posted @ 2018-12-12 21:14  fengMisaka  阅读(9147)  评论(0编辑  收藏  举报