Qt4由一些模块组成,每个模块存在于一个单独的库中。

一般软件开发的模块:
QtCore:非图像类,被其他模块使用。
QtGui:图形用户界面(GUI)组件。
QtNetwork:网络编程类。
QtOpenGL:支持OpenGL类。
QtScript:Qt脚本类。
QtScriptTools:其他的qt脚本组件。
QtSql:使用SQL数据库集成类。
QtSvg:显示SVG文件内容的类。
QtWebKit:显示和编辑网页内容。
QtXml:用于处理XML的类。
QtXmlPatterns:一个XQueryXPath引擎用于xml和自定义数据类型。
Phonon:多媒体框架类。
Qt3Support:兼容qt3的类。

Qt的工具模块:
[size=font-size:12.0pt,12.0pt]QtDesigner:扩展QtDesigner的类[size=font-size:14.0pt,14.0pt]。
QtUiTools:处理应用程序中QtDesigner形式的类。
QtHelp:在线帮助。
QtAssistant:支持在线帮助。
QtTest:单元测试工具类。

下面的扩展模块是可以在qt商业版得到的:
QAxContainer:访问ActiveX控件的扩展。
QAxServer:编写ActiveX服务器的扩展。

在Unix平台上的所有Qt版本提供以下扩展模块:
[size=font-size:14.0pt,14.0pt]QtDBus:[size=font-size:12.0pt,12.0pt]使用D - Bus进行进程间通信类。

如果你使用qmake构建你的工程,QtCoreQtGui是默认被包含的,只链接QtCore,添加下面语句到你的.pro文件:QT -= gui。

windows平台,如果你不使用qmake,而使用vs或其他工具,如Cmake,你还需要对qtmain库进行链接。

QtCore
命名空间:
    QtConcurrent:高层API,使人们有可能写多线程程序,而无需使用低层原始线程。
    所有其他模块依赖于这个模块。用下面的指令来包含该模块的类定义:#include <QtCore>
QtGui:
命名空间:
    Qt:包含整个Qt库使用的各种标识符。
    要包含模块类的定义,使用下面的指令:#include <QtGui>
QtNetwork:
命名空间:
    QSsl:为QtNetwork所有的SSL类声明公共的枚举。
    网络模块提供的类使网络编程更容易和便携式。它提供类,如QHttp和QFtp,实现特定的应用层协议,低层次的类如QTcpSocket,QTcpServer和QUdpSocket代表低层次的网络概念。高层次的类  如QNetworkRequest,QNetworkReply和QNetworkAccessManager使用常见的协议执行网络操作。
配置:
[size=;font-size:12.0pt,12.0pt]    [size=;font-size:12.0pt,12.0pt]使用Qt网络类的应用程序需要进行配置,以建立对QtNetwork模块的应用。以下在qmake工程文件中的声明可以确保应用适当的编译和链接:[size=;font-size:13.5pt,13.5pt]QT += network。[size=;font-size:12.0pt,12.0pt]这一行是必要的,因为只有QtCore和QtGui模块在构建过程中是默认使用的。
    包括模块的类的定义,使用下面的指令:#include<QtNetwork>
QtOpenGL
命名空间:
    QGL:指定在Qt  OpenGL中使用的各种标识符。
    OpenGL是3D图形渲染的标准API。OpenGL只处理3D渲染和提供很少或者不支持GUI编程问题。OpenGL应用程序的用户界面,必须和另一个工具包同时建立,如x平台上的Motif,windows平台下的MFC,或者在两个平台上的Qt。
    Qt的OpenGL模块使在Qt应用程序中使用OpenGL变得容易。它提供了一个OpenGLWidget类,可以像使用任何其他的Qt部件,但它会打开一个OpenGL的显示缓冲区,在那里你可以使用OpenGL API来显示内容。
    包含该模块的类的定义,使用下面的指令:  #include <QtOpenGL>
    为链接到该模块,需要在.pro文件中增加下面语句:QT += opengl
QtScript
配置:
    包含模块的类的定义,使用下面的指令: #include<QtScript>
    为链接到该模块,需要在.pro文件中增加下面语句:QT += script
QtScriptTools:
配置:
    包含模块的类的定义,使用下面的指令:#include<QtScriptTools>
    为链接到该模块,需要在.pro文件中增加下面语句:QT +=scripttools
QtSql:
命名空间:
    QSql包含各种Qt SQL库使用的标识符
    SQL类分为三个层次:
   1     Driver Layer:包括类QSqlDriver,QSqlDriverCreator<T>,QSqlDriverCreatorBase,QSqlDriverPlugin,和QSqlResult。这一层提供特定的数据库和SQL  API层之间的低层次的桥梁。更多信息,请参阅SQL数据库驱动程序。
   2     SQL API Layer:这些类提供了对数据库的访问。连接使用QSqlDatabase类。数据库的交互是通过使用QSqlQuery类。除了QSqlDatabase和QSqlQuery,SQLAPI层支持QSqlError,QSqlField,QSqlIndex,QSqlRecord。
    3    User Interface Layer:这些类链接数据库中的数据到数据感知部件。它们包括QSqlQueryModel,QSqlTableModel和QSqlRelationalTableModel。这些类工作于Qt的模型/视图框架。
注意,要使用这些类,必须有一个QCoreApplication对象首先被实例化。包含模块的类的定义,使用下面的指令:#include<QtSql>
    要对模块进行链接,将此行添加到.pro文件:QT+=sql
SVG:
    可缩放矢量图形(SVG)是一种用于在xml中描述二维图形和图形应用程序的语言。SVG1.1是W3C推荐标准,并形成了目前在Qt的SVG发展的核心。SVG1.2是由SVG工作组目前正在制定规范,这是草案形式。
配置:
[size=;font-size:12.0pt,12.0pt]    [size=;font-size:12.0pt,12.0pt]使用Qt的SVG类应用程序需要进行配置,以建立对QtSvg模块的应用。包含模块的类的定义,使用下面的指令:[size=;font-size:14.0pt,14.0pt]#include<QtSvg>
    要对模块进行链接,将此行添加到.pro文件:QT+=svg
SVG支持:
    Qt支持SVG1.2的静态特性。目前不支持ECMA脚本和DOM操作。
QtWebKit
    QtWebKit提供了一个Web浏览器引擎,可以很容易将万维网内容嵌入到你的Qt应用程序中。同时,Web的内容可以加强与本地控制。QtWebKit提供超文本标记语言(HTML),可扩展超文本标记语言(XHTML)和可伸缩矢量图形(SVG)的文件,样式使用层叠样式表(CSS)和JavaScript的脚本渲染设施。
    JavaScript执行环境和Qt对象模型之间的桥梁,使人们有可能自定义QObjects脚本。与Qt网络模块的集成使的网页从Web服务器,本地文件系统,甚至是Qt的资源系统加载显而易见。
除了提供纯渲染功能,通过使用HTML元素的contenteditable属性,使用户可以对HTML文件完全可编辑。
QtWebKit是基于开源的WebKit引擎。
配置:
    使用QtWebKit的类的应用程序需要进行配置,以建立对QtWebKit模块的应用。确保一个应用程序是适当的编译和链接,在qmake项目文件中添加以下声明:QT+=webkit
    包含模块的类的定义,使用下面的指令: #include<QtWebKit>
QtXml
    SAX是基于事件的XML解析器的标准接口。Qt接口遵照SAX2Java实现。它的命名方案被改编以适应Qt的命名约定。Qt的实现,不包括Java接口中的SAX1兼容性类。
    自4.3版以来,Qt提供了读取和写入XML的两个新的类:QXmlStreamReader和QXmlStreamWriter。
     除了核心的XML支持,更高层次的XML数据分类查询和操纵,由QtXmlPatterns模块提供。在QtSvg模块,QSvgRenderer和QSvgGenerator类可以读取和写入SVG基于XML文件格式的一个子集。Qt还提供了辅助功能,可能对应用于XML和XHTML的setQt::escape()和Qt::convertFromPlainText()有用。
更多的XML支持由qt的解决方案提供,例如,支持SOAP和MML。
配置:
    #include<QtXml>
    QT+=xml
QtXmlPatterns
配置:
    QT+=xmlpatterns
   #include<QtXmlPatterns>
Phonon:
    phonon是一个跨平台的多媒体框架,使Qt应用程序中能够使用音频和视频内容。phonon命名空间包含了模块所提供的所有类,函数和命名空间的清单。
配置:    
QT += phonon
[size=;font-size:12.0pt,12.0pt]Qt3Support[size=;font-size:27.0pt,27.0pt] 
    在此模块中类的目的是要在移植过程的中间阶段使用,而不是为了在代码中使用。
配置:
    #include<Qt3Support>
    QT+=qt3support

QtDesigner:
    QtDesigner模块提供的类允许你用QtDesigner创建自己自定义widget插件,也可以使您访问QtDesigner中的组件。此外,QFormBuilder类提供了在运行时从Ui文件构建用户界面的可能性。
配置:
    #include<QtDesigner>
    CONFIG+=designer
QAxContainer:
   QAxContainer模块的ActiveQt框架的一部分。它提供了一个库实施一个QWidget的子类,QAxWidget,作为一个ActiveX控件的容器和一个QObject的子类,QAxObject,可以用来方便地访问非可视化的COM对象的行为。
配置:
    CONFIG+=qaxcontainer

本文来源:http://www.qtcn.org/bbs/apps.php?q=diary&a=detail&did=289&uid=118981