【发布时间】:2012-10-09 13:49:55
【问题描述】:
我遇到了 QDir 的问题,我有这个包含很多图像的文件夹,我需要遍历它们,但是它们必须被排序,所以,我使用 setSorting(QDir::Name) 但是,它不起作用在 Ubuntu 上。当我使用 QDirIterator 对其进行迭代时,它会随机选择给定文件夹中的图片。奇怪的是,我在 Windows(minGW 或 MSVC)上使用了相同的代码,而且效果很好。
someClass::someClass(QDir dir) {
m_dir = dir;
m_directory.setSorting(QDir::Name);
QStringList filter;
filter << QString("*.") + format << QString("*.") + "jpg";
m_dir.setNameFilters(filter);
}
someClass::iterateDir() {
QDirIterator it(m_dir);
while(it.hasNext()) {
it.next();
qDebug() << it.fileName();
//analayze the picture here
}
}
这里it.fileName() 应该打印 (0.jpeg, 1.jpeg .... 3000.jpeg) 但它打印的是 (2342.jpg, 1286.jpg, 684.jpg ... 712.jpg) 我试过了使用其他 sortFlags (QDir::Size, QDir::LocaleAware) 但它们都不能在 Ubuntu 上运行。
有什么我想念的吗?
感谢您的宝贵时间。
【问题讨论】:
标签: c++ qt ubuntu directory qdir