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

Qt官方信息

Qt官网:http://qt.digia.com/
Qt开源官网:http://qt-project.org/
Qt最新版本下载:http://qt-project.org/downloads
Qt所有版本下载:ftp://ftp.qt-project.org/qt/source/
Qt Creator所有版本下载:ftp://ftp.qt-project.org/qtcreator/


一、Qt与Qt Creator简介

Qt是一个跨平台应用程序和 UI 开发框架。使用 Qt 您只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。
Qt Creator 是全新的跨平台Qt IDE,可单独使用,也可与 Qt 库和开发工具组成 一套完整的SDK. 其中包括:高级 C++ 代码编辑器,项目和生成管理工具,集成的上下文相关的帮助系统,图形化调试器,代码管理和浏览工具。

二、Qt功能与特性

  • 直观的 C++ 类库:模块化 Qt C++ 类库提供一套丰富的应用程序生成块 (block),包含了构建高级跨平台应用程序所需的全部功能。具有直观,易学、易用,生成好理解、易维护的代码等特点。
  • 跨桌面和嵌入式操作系统的移植性:使用 Qt,您只需一次性开发应用程序,就可跨不同桌面和嵌入式操作系统进行部署,而无须重新编写源代码,可以说Qt无处不在(QtEverywhere) 。
  • 使用单一的源代码库定位多个操作系统;
  • 通过重新利用代码可将代码跨设备进行部署;
  • 无须考虑平台,可重新分配开发资源;
  • 代码不受担忧平台更改影响的长远考虑 ;
  • 使开发人员专注于构建软件的核心价值,而不是维护 API 。
  • 具有跨平台 IDE 的集成开发工具:Qt Creator 是专为满足 Qt 开发人员需求而量身定制的跨平台集成开发环境 (IDE)。Qt Creator 可在 Windows、Linux/X11 和 Mac OS X 桌面操作系统上运行,供开发人员针对多个桌面和移动设备平台创建应用程序。
  • 在嵌入式系统上的高运行时间性能,占用资源少。


三、Qt Creator功能和特性

  • 复杂代码编辑器: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的历史

  • 1996年Qt 上市
  • Qt 已成为数以万计商业和开源应用程序的基础
  • Qt 的软件授权机制具有经受市场检验的双重授权(开源与商业)模式
  • Qt Software 的前身为 Trolltech(奇趣科技)。 Trolltech (奇趣科技)始创于1994年
  • Trolltech (奇趣科技)于2008年6月被 Nokia 收购,加速了其跨平台开发战略
  • 2012年8月芬兰IT业务供应商Digia全面收购诺基亚Qt业务及其技术


五、Qt类库

模块化 Qt C++ 类库提供一套丰富的应用程序生成块(block),包含了生成高级跨平台应用程序所需的全部功能。

1.先进的图形用户界面(GUI):Qt为您在桌面与嵌入式平台上开发先进的GUI应用程序,带来所有需要的功能。Qt使用所支持平台的本地化图形API,充分利用系统资源并给予应用程序本地化的界面。

  • 从按钮和对话框到树形视图与表格都具有完整的控件(窗体)
  • 自动缩放,字体、语言与屏幕定位识别布局引擎
  • 支持抗锯齿、矢量变形以及可缩放矢量图形 (SVG)
  • 具有样式API和窗体样式表,可完全自定义用户界面
  • 支持嵌入式设备的硬件加速图形和多重显示功能

2.基于OpenGL ®与OpenGL ®Es的3D图形:OpenGL® 是一个标准的图形库,用于构建跨平台和支持硬件加速的高性能可视化应用程序。虽然OpenGL完美支持3D图形,但却不支持创建应用程序用户界面。Qt通过与OpenGL 的紧密集成解决了这一难题。

  • 在您的应用程序中轻松加入3D图形
  • 在嵌入式Linux 与Windows CE 平台上使用OpenGL ES和OpenGL绘画引擎
  • 利用系统资源实现最佳图形性能
  • 支持Windows 平台上的Direct3D®

3.多线程:多线程编程是一个执行资源密集型操作而不会冻结应用程序用户界面的有效典范。Qt的跨平台多线程功能简化了并行编程,另外它附加的同步功能可以更加轻松地利用多核架构。

  • 管理线程、数据和对象更加轻松
  • 基于Qt的信号与槽,实现跨线程类型安全的对象间通讯
  • 高端API可以编译多线程程序而无须使用底端基元

4.嵌入式设备的紧凑视窗系统:Qt构建在标准的 API基础上,用于具有轻量级window系统的嵌入式 Linux 设备。基于Qt的应用程序直接写入 Linux 帧缓冲,解除了您对 X11 视窗系统的需求。

  • 减少内存消耗,内存占用更小
  • 可以编译移除不常使用的组件与功能
  • 可以利用硬件加速图形
  • 在桌面系统上的虚拟帧缓冲可用于嵌入式开发与调试

5.对象间通讯:在开发用户图形界面中,一个常见的、重复发生系统崩溃与问题的症结根源是如何在不同组件之间进行通信。对于该问题,Qt 的解决方案是信号与槽机制,即执行Observer设计模式。我们可以简单理解为当特殊事件发生的时候,信号就被发出了,一个槽就是一个函数,被称作特定信号的响应。

  • 信号与槽机制是类型安全的(type safe)
  • 任意信号都可以连接任意或多个槽,或跨多个线程
  • 简化真正的组件编程

6.2D图形:Qt给您提供一个功能强大的2D图形画布,用以管理和集成大量的图形元素。

  • 高精度可视化大量元素
  • 将窗体互动嵌入至图形场景中
  • 支持缩放、旋转、动画与**变换

7.多媒体框架:Qt使用 Phonon多媒体框架为众多的多媒体格式提供跨桌面与嵌入式操作系统的回放功能。Phonon可以轻松将音频与视频回放功能加入到Qt应用程序当中,并且在每个目标平台上提供多媒体格式与框架。

  • 从本地文件读取媒体或读取网络上的流媒体
  • 提取Mac上的 QuickTime® ,Windows 上的DirectShow® 以及 Linux 上的Gstreamer

8.WebKit集成:Qt WebKit集成,即Qt集成了WebKit功能,WebKit是KDE项目下基于 KHTML的开放源web浏览器引擎。目前 Apple,Google与Nokia等公司使用Qt WebKit集成,将web与本地内容和服务整合在单一的富应用程序当中。

  • 快速创建整合实时web内容与服务的应用程序
  • 使用集成在本地代码中的 HTML 与Java Script
  • 完全控制跨平台的浏览器环境

9.网络连接:Qt 让您网络编程更简单,并支持跨平台网络编程。

  • 完整的客户/服务器插口提取
  • 支持 HTTP,FTP,DNS 与异步 HTTP 1.1
  • 无论HTML 和XML或图象与媒体文件,它都可以存取所有类型的数据

10.XML:Qt 为XML 文件以及SAX 和 DOM 协议的C++实现,提供了一个流媒体文件读写器。同时 Qt 还包含了 XQuery – 一个简单的类似 SQL的查询语言,用于解析XML文件来选择和聚合所需要的XML元素,并且将它们转换成XML输出或其它格式的输出。

  • 仅需少数几行代码便可实现先进的 XML 查询
  • 完全支持 XQuery 1.0 和 XPath 2.0
  • 在您自己的应用程序中从XML查询、抽取和转换数据

11.脚本引擎:Qt 包含一个完全集成 ECMA 标准的脚本引擎。 QtScript 提供 QObject 集成,把 Qt的信号与槽机制整合成脚本,并且实现了C++ 与脚本的集成。

  • 基于ECMA 标准的脚本语言(ECMAScript 3是JavaScript1.5的基础)
  • 为简化的对象间通讯使用Qt的信号与槽机制
  • 开创新的契机将脚本与您的Qt应用程序相集成

12.数据库:Qt 帮助您将数据库与您的Qt应用程序无缝集成。Qt支持所有主要的数据驱动,并可让您将SQL发送到数据库服务器,或者让 Qt SQL类自动生成 SQL 查询。

  • 支持所有主要的数据库驱动
  • 以多种视图或数据识别表单方式显示数据


六、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 IDE2.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。


参考:

Qter开源社区


转载于:https://www.cnblogs.com/linuxAndMcu/p/10111079.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值