簡體   English   中英

QDir :: SetSorting在Ubuntu上不起作用

[英]QDir::SetSorting Doesn't work on Ubuntu

我的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)使用其他sortFlagsQDir::Size, QDir::LocaleAware ),但是它們都不能在Ubuntu上運行。 有什么我想念的嗎? 感謝您的時間。

您正在混合2個變量: m_dirm_directory 我認為這是拼寫錯誤,您的意思是使用相同的變量。

QDirIterator不支持排序。 QDir::setSorting()僅影響QDIr:: entryInfoList()QDir:: entryList()返回的列表。 將它們之一用於排序迭代。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM