学习QT这么长时间,想想当初学习时,走了很多弯路,入门花了很长时间。刚想学习这个开发工具时,不知道怎么开始,就像有一张美味的大饼,不知道在哪个地方开始下口,现在把这个阶段的知识总结一下,供大家参考。
QT发展到现在,已经有了一个成熟的开发环境(IDE),具体名字叫做QT SDK,这个和win下的VS2008,VS2010一样,建议刚开始用这个学习,容易入门,开发环境在各个系统下,界面是一样的,为跨平台编译,把困难减到最小的程度。
一 QT的相关工具和框架
所有和QT相关的构架如下图所示:
如上图所示,左侧是Qt SDK的不同系统版本:
左侧从上到下:
Qt SDK for windows: Qt的windows版本。
Qt SDK for linux/X11 32-bit:Qt的32位linux版本
Qt SDK for linux/X11 64-bit:Qt的64位linux版本
Qt SDK for Mac:Qt的萍果系统版本。
右侧从上到小:
是QT框架,如windows下的MFC等,但我本人感觉,QT是最好用的框架。
从上到下依次是不同体系平台上的框架。
二 把握QT相关脉络,站在全局掌握QT开发
QT总共有十二大类库,是独立的十二个模块,这十二个模块是QT主要组成部分,所有不同体系平台的QT版本都是有这些模块组成的。
各模块的分类具体如下:
Qt 核心模块是所有基于 Qt 的应用程序的基础,包含了其他模块所使用的核心非图形类。 |
主要功能
| 优势
|
2.2整合 Web、富内容 (Rich Content) 和服务:Qt WebKit 集成
主要功能
| 优势
|
2.3 创建高级图形用户界面:GUI 模块
模块包含了开发高级图形用户界面应用程序所需的功能。Qt 使用其支持的各个平台的本地图形 API,充分利用了系统资源。您还可使用特定外观创建定制的 UI。
主要功能
| 优势
|
2.4ECMA 标准脚本引擎:Qt Script 模块
Qt 包含完全集成的 ECMA 标准脚本引擎。Qt Script 集成了 QObject,为脚本提供了 Qt 的信号与槽 (Signals & Slots) 机制,可在 C++ 和脚本之间进行集成。 |
主要功能
| 优势
|
2.5 网络模块
Qt 网络模块提供了可使网络编程更便捷且具有跨平台优势的功能。Qt 提供了完整的客户端和服务器套接字提取功能,并采用了通用协议,如 HTTP、FTP 和 DNS,包括对异步 HTTP 1.1 的支持。 |
主要功能
| 优势
|
2.6 集成所有主要数据库:数据库模块
QtSql 模块可协助您完美地将数据库集成至您的 Qt 应用程序。Qt 支持所有主要的数据库驱动,您可向数据库服务器发送 SQL 命令或让 Qt SQL 类自动生成 SQL 查询。 |
主要功能
| 优势
|
2.7提供单元测试框架
Qt 提供了单元测试框架以及测试图形用户界面的扩展中所有常用的功能。 |
主要功能
| 优势
|
2.8 XML模块
QtXml 模块提供了 XML 文档的流阅读器和编写器、C++ 实现的 SAX 和 DOM 以及 XQuery 和 XPath 引擎。XQuery 是简单的类似 SQL 的查询语句,用于转换 XML 文档,可选择和合并感兴趣的 XML 元素并将其转换为 XML 或其他格式的输出。XQuery 简化了查询任务,不必再繁琐地编写大量 C++ 代码。 |
主要功能
| 优势
|
QtOpenGL 模块提供了便于在 Qt 应用程序中使用 OpenGL® 和 OpenGL ES 加入 3D 图形的类。OpenGL 是标准图形库,可生成高性能的硬件加速跨平台图形化应用程序。OpenGL 是 3D 可视化的最佳选择,无须花费很大力气就可创建应用程序用户界面。
主要功能
| 优势
|
2.10 充分利用多核硬件:多线程功能
Qt 跨平台多线程功能简化了并行编程,同时由于增加了并发功能,更便于利用多核架构。 |
主要功能
| 优势
|
Qt Graphics View 提供了用于管理和交互大量定制的 2D 图形对象的平面以及可视化显示对象的视图 widget,并支持缩放和旋转功能。Graphics View 使用 BSP(二进制空间划分)树形可非常快速地找到对象,因此即使是包含百万个对象的大型场景,也能实时图形化显示。
主要功能
| 优势
|
2.12 Qt Declarative:可定制的动态用户界面
Qt Declarative 模块拥有一整套功能强大的类,用于为触摸式移动设备和嵌入式设备创建高度动态、定制的用户界面。Qt Declarative 是 的一个关键组件。
主要功能
| 优势
|