数据类型定义
函数
容器类
字符串列表类QStringList就是从容器类QList
顺序容器类
Qt的顺序容器类有QList、QLinkedList、QVector、QStack和QQueue。
关联容器类
Qt还提供关联容器类QMap、QMultiMap、QHash、QMultiHash和QSet。
容器类的迭代
迭代器(iterator)为访问容器类里的数据项提供了统一的方法,Qt有两种迭代器类:Java类型的迭代器和STL类型的迭代器。
Java类型的迭代器更易于使用,且提供一些高级功能,而STL类型的迭代器效率更高。
Qt还提供一个关键字foreach(实际是
java类型迭代器
STL类型迭代器
STL迭代器与Qt和STL的原生算法兼容,并且进行了速度优化。
对于每一个容器类,都有两个STL类型迭代器:一个用于只读访问,一个用于读写访问。无需修改数据时一定使用只读迭代器,因为它们速度更快。
foreach 关键字
如果只是想遍历容器中所有的项,可以使用foreach关键字。foreach是
Qt类库的模块
基本模块
Qt基本模块是Qt在所有平台上的基本功能,它们在所有的开发平台和目标平台上都可用,在Qt5所有版本上是源代码和二进制兼容的。
Ot Core模块是Qt类库的核心,所有其他模块都依赖于此模块,如果使用qmake构建项目,则Qt Core模块是自动被加入项目的。
Qt GUI模块提供了用于开发GUI应用程序的必要的类,使用qmake构建应用程序时,Qt GUI模块是自动被加入项目的。如果项目中不使用GUI功能,则需要在项目配置文件中加入如下的一行:
QT -= gui
其他的模块一般不会被自动加入到项目,如果需要在项目中使用某个模块,则可以在项目配置中添加此模块。例如,如果需要在项目中使用Qt Multimedia和Qt Multimedia Widgets模块,需要在项目配置文件中加入如下的语句:
OT += multimedia multimediawidgets
需要在项目中使用Qt SQL模块,就在项目配置文件中加入如下的语句:
OT += sql
附加模块
Q附加模块可以实现一些特定目的。这些模块可能只在某些开发平台上有,或只能用于某些操作系统,或只是为了向后兼容。用户安装时可以选择性地安装这些附加模块。
增值模块
除了随Q5发布的上述这些模块,还有一些模块(见表3-8)是单独发布的,这些模块只在商业版许可的Qt里才有。
技术预览模块
技术预览模块就是一些还处于开发和测试阶段的模块,一般技术预览模块经过几个版本的发布后会变成正式的模块。