Qt构建模块(Qt Building Blocks)

Qt5是由大量的模块组成的。一个模块通常情况下是一个库,提供给开发者使用。一些模块是强制性用来支持Qt平台的,它们分成一组叫做Qt基础模块。许多模块是可选的,它们分成一组叫做Qt附加模块,预计大多数得到开发人员将不会使用它们,但是最好知道它们可以对一些通用的问题提供非常有价值的解决方案。

1.3.1 Qt模块(Qt Modules)

Qt基础模块是对Qt一台的必要支持。它们使用Qt Quick 2开发Qt 5应用程序的基础。

核心基础模块

以下这些是启动QML程序最小的模块集合。

模块名 描述
Qt Core 核心的非图形类,供其它模块使用。
Qt GUI 图形用户界面(GUI)组件的基类,包括OpenGL。
Qt Multimedia 音频,视频,电台,摄像头的功能类。
Qt Network 简化方便的网络编程的类。
Qt QML QML类与JavaScript语言的支持。
Qt Quick 可高度动态构建的自定义应用程序用户界面框架。
Qt SQL 集成SQL数据库类。
Qt Test Qt应用程序与库的单元测试类。
Qt WebKit 集成WebKit2的基础实现并且提供了新的QML应用程序接口。在附件模块中查看Qt WebKit Widgets可以获取更多的信息。
Qt WebKit Widgets Widgets 来自Qt4中集成WebKit1的窗口基础类。
Qt Widgets 扩展Qt GUI模块的C++窗口类。

Qt构建模块(Qt Building Blocks) - 图1

Qt附加模块

除了必不可少的基础模块,Qt提供了附加模块供软件开发者使用,这部分不一定包含在发布的版本中。以下简短的列出了一些可用的附加模块列表。

  • Qt 3D - 一组使3D编程更加方便的应用程序接口和声明。

  • Qt Bluetooth - 在多平台上使用无线蓝牙技术的C++和QML应用程序接口。

  • Qt Contacts - 提供访问联系人与联系人数据库的C++和QML应用程序接口。

  • Qt Location - 提供了定位,地图,导航和位置搜索的C++与QML接口。使用NMEA在后端进行定位。(NMEA缩写,同时也是数据传输标准工业协会,在这里,实际上应为NMEA 0183。它是一套定义接收机输出的标准信息,有几种不同的格式,每种都是独立相关的ASCII格式,逗点隔开数据流,数据流长度从30-100字符不等,通常以每秒间隔选择输出,最常用的格式为”GGA”,它包含了定位时间,纬度,经度,高度,定位所用的卫星数,DOP值,差分状态和校正时段等,其他的有速度,跟踪,日期等。NMEA实际上已成为所有的GPS接收机和最通用的数据输出格式,同时它也被用于与GPS接收机接口的大多数的软件包里。)

  • Qt Organizer - 提供了组织事件(任务清单,事件等等)的C++和QML应用程序接口。

  • Qt Publish and SubScribe - Qt发布与订阅

  • Qt Sensors - 访问传感器的QML与C++接口。

  • Qt Service Framework - 允许应用程序读取,操纵和订阅来改变通知信息。

  • Qt System Info - 发布系统相关的信息和功能。

  • Qt Versit - 支持电子名片与日历数据格式(iCalendar)。(iCalendar是“日历数据交换”的标准(RFC 2445)。 此标准有时指的是“iCal”,即苹果公司的出品的一款同名日历软件,这个软件也是此标准的一种实现方式。)

  • Qt Wayland - 只用于Linux系统。包含了Qt合成器应用程序接口(server),和Wayland平台插件(clients)。

  • Qt Feedback - 反馈用户的触摸和声音操作。

  • Qt JSON DB - 对于Qt的一个不使用SQL对象存储。

注意

这些模块一部分还没有发布,这依赖于有多少贡献者,并且它们能够获得更好的测试。

1.3.2 支持的平台(Supported Platforms)

Qt支持各种不同的平台。大多数主流的桌面与嵌入式平台都能够支持。通过Qt应用程序抽象,现在可以更容易的将Qt移植到你自己的平台上。在一个平台上测试Qt5是非常花费时间的。选择测试的平台子集可以参考qt-project构件的平台设置。这些平台需要完全通过系统的测试才能确保最好的质量。友情提醒:任何代码都可能会有Bug的。