QT 官方手册: http://doc.qt.io/qt-5/qtcore-index.html
参考书籍: Qt5开发及实例 陆文周主编 【电子工业出版社】
1. 字符串类QString
字符串通用操作: 查询、码制转换
Qt在线参考文档:http://www.kuqin.com/qtdocument/
2. 容器类
线性表 QList<T>
使用:
QList<QString> list;
list << str; //将一个字符串存储在该列表里
可以使用下标或者迭代器来访问线性表元素。
链表 QLinkedList<T>
只能使用迭代/遍历器(相应类型的Iterator)来访问各元素。
容器 QVector<T>
可以使用下标或者迭代器来访问元素。
从功能上迭代器分只读/读写两种。
(1)只读迭代器:只能完成基本的遍历操作,不能完成列表项的插入删除操作。
(2)读写迭代器:可以完成列表项的插入、删除、修改表项数据等的操作。
Java风格迭代器与 STL风格迭代器
(1)Java风格迭代器:迭代点位于列表项的中间,而不是直接指向某个列表项。
(2)STL风格迭代器:建立在指针操作基础上,迭代点直接指向列表项。
Java风格迭代器
容器类 | 只读迭代器类 | 读写迭代器类 |
QList<T>, QQueue<T> | QListIterator<T> | QMutableListIterator<T> |
QLinkedList<T> | QLinkedListIterator<T> | QMutableLinkedListIterator<T> |
QVector<T>,QStack<T> | QVectorIterator<T> | QMutableVectorIterator<T> |
实例:
只读迭代器常用方法(以QListIterator<T>为例)
QListIterator(const QList<T> & list) | |
bool findNext(const T & value) | 从当前迭代点开始向后查找指定列表项,若找到返回true,此时迭代点位于匹配列表项之后;若未找到返回false,此时迭代点位于最后一个表项之后。 |
bool findPrevious(const T & value) | 从当前迭代点开始向前查找指定列表项,若找到返回true,此时迭代点位于匹配列表项之前;若未找到返回false,此时迭代点位于第一个表项之前。 |
bool hasNext() const | 检查当前迭代点之后是否具有列表项。 |
bool hasPrevious() const | 检查当前迭代点之前是否具有列表项。 |
const T & next() | 返回当前迭代点后一个列表项的内容,并将迭代点移动到后一个列表项之后。 |
const T & peekNext() const | 返回下一个列表项,但不移动迭代点。 |
const T & peekPrevious() const | 返回前一个列表项,但不移动迭代点。 |
const T & previous() | 返回当前迭代点前一个列表项的内容,并将迭代点移动到前一个列表项之前。 |
void toBack() | 将迭代点移动到最后一个列表项之后。 |
void toFront() | 将迭代点移动到第一个列表项之前。 |
QListIterator & operator=(const QList<T> & list) |
容器类 | 只读迭代器类 | 读写迭代器类 |
QList<T>, QQueue<T> | QList<T>::const_iterator | QList<T>::iterator |
QLinkedList<T> | QLinkedList<T>::const_iterator | QLinkedList<T>::iterator |
QVector<T>,QStack<T> | QVector<T>::const_iterator | QVector<T>::iterator |
实例:
映射 QMap<Key, T>
哈希表 QHash <Key, T> QMultiX<Key, T>可存储一键多值的数据
Java风格迭代器
容器类 | 只读迭代器类 | 读写迭代器类 |
QMap<Key,T>, QMultiMap<Key, T> | QMapIterator<Key ,T> | QMutableMapIterator<Key, T> |
QHash<Key,T>, QMultiHash<Key, T> | QHashIterator<Key ,T> | QMutableHashIterator<Key, T> |
STL风格迭代器
容器类 | 只读迭代器类 | 读写迭代器类 |
QList<T>, QQueue<T> | QList<T>::const_iterator | QList<T>::iterator |
QLinkedList<T> | QLinkedList<T>::const_iterator | QLinkedList<T>::iterator |
万能的数据类型QVariant