【发布时间】:2016-04-03 21:44:42
【问题描述】:
在一个集合中存储多个 QFile 的最佳方式是什么?最好使用 QList、数组还是向量?
我想以 QFile 而不是 QFile* 的形式访问集合的元素。
我正在尝试读取 Qt 中的目录并将所有文件存储在一个集合中。然后将所有文件名打印到屏幕上。
我是如何阅读目录的:
QDirIterator it(p_dir, QStringList() << "*.wav", QDir::Files, QDirIterator::Subdirectories);
while (it.hasNext())
{
// Put file into collection
}
目前我正在使用 QList 来存储 QFiles:
QList<QFile*> list;
我读到获取文件信息的最佳方法是使用 QFileInfo 类型。如何将 QFileInfo 文件设置为列表中的元素?
我想做这样的事情:
QFileInfo info;
QListIterator<QFile*> i(list);
while(i.hasNext())
{
info.setFile(i);
}
但是上面给了我: 错误:没有用于调用 'QFileInfo::setFile(QListIterator&)' 的匹配函数 fi.setFile(i);
【问题讨论】:
-
看起来你想要的不是 QFile,而是一系列文件名,因此 QStringList 会做得很好