在Qt中,遍历QStringList可以通过多种方式实现,包括使用迭代器、索引以及范围for循环(C++11引入的for-each循环)。下面将详细介绍这几种方法: 1. 创建QStringList实例并添加元素 首先,我们需要创建一个QStringList实例并向其中添加一些元素: cpp #include <QStringList> #include <QDebug> int main...
Qt 也提供了两种 STL 风格的遍历器:一种是只读访问,一种是读写访问。推荐尽可能使用只读访问,因为它们要比读写访问的遍历器更快。 QList遍历 1QList<QString>lst;2lst <<"Apple"<<"Banana"<<"Cherry"<<"Grape";3QList<QString>::iterator itr =lst.begin();4for(itr; itr != lst.end(); ++itr...
可以通过QList::append()和QList::prepend在两端添加项,或者通过QList::insert()在中间插入项。QStringList是从QList<QString>得到的。 QLinkedList<T> 类似于QList,但它使用迭代器而不是整数索引来获得项。当在一个很大的list中间插入项时,它提供了更好的性能,并且它有更好的迭代器机制。(只要那一项存在,...
foreach (const QString &str, list) { if (str.isEmpty()) break; qDebug() << str; } 1. 2. 3. 4. 5. 6. 7. 对于QMap和QHash, foreach会自动访问(键、值)对的值组件,因此不应该在容器上调用values()(它会生成一个不必要的副本,见下文)。如果想遍历键和值,可以使用迭代器(更快),或者你...
QStringListModel 用于存储简单的QString列表。 QStandardItemModel 管理复杂的树型结构数据项,每项都可以包含任意数据。 QDirModel提供本地文件系统中的文件与目录信息。 QSqlQueryModel,QSqlTableModel,QSqlRelationTableModel用来访问数据库。 自定义model: 可以处理庞大的数据,和增加特殊...
QListIterator<QString>i(list); while(i.hasNext()){ qDebug()<<i.next(); } 首先,我们使用 list 对象创建一个遍历器。刚刚创建完成时,该遍历器位于第一个元素之前(也就是 A 之前)。我们通过调用hasNext()函数判断遍历器之后的位置上有无元素。如果有,调用next()函数将遍历器跳过其后的元素。next()函数...
fileName(); ++i; }while(i<list.size()); return 0; } 若在遍历过程中,只想获取目录下的文件名,则也可以用如下方式实现: int FindFile2(const QString& _filePath) { QDir dir(_filePath); if (!dir.exists()) { return -1; } //取到所有的文件和文件名,但是去掉.和..的文件夹(这是QT...
foreach关键字是Qt向C++语言中添加的一个用来进行容器顺序遍历的关键字。 使用方法: QList<QString> list; list<<"A"<<"B"<<"C"<<"D";foreach(QString str, list) {qDebug() << str; } AI代码助手复制代码 其他: foreach其实是for循环的一个特殊简化版,写法类似于C++11中for的新写法,只不过for...
4. 遍历 代码语言:javascript 复制 QStringList list;QMetaEnum metaEnum=QMetaEnum::fromType<Object::WeekDay>();for(int i=0;i<metaEnum.keyCount();i++){list+=metaEnum.valueToKey(metaEnum.value(i));// Or list += metaEnum.key(i);}qDebug()<<list;...