2013-12-24 285 views
1

如何將目錄和子目錄列表添加到QStringList?如何將目錄和子目錄的列表添加到QStringList?

這是我...

QStringList dirList; 

QDirIterator iterateFolders("/Users/userName/targetFolder", QDir::Dirs, QDirIterator::Subdirectories); 
while (iterateFolders.hasNext()) 
{ 
    dirList.append(iterateFolders.next()); 
} 

但我不認爲這是正常工作,因爲當我重複好像列表不顯示所有的文件夾,它跳過一些他們。

for(int i=0; i<dirList.length(); i++) 
{ 
    qDebug() <<" Dir At: " << dirList.at(i); 
} 

將目錄和子目錄添加到QStringList的正確方法是什麼?

感謝

+2

這段代碼應該可以正常工作。你確定你正在迭代你想要的路徑嗎?添加qDebug()<< iterateFolders.filePath();在追加 –

+0

後明白了,在添加了你建議的內容之後,我意識到我的問題是我在while和for循環中使用了相同的函數,我將for循環移到了不同​​的函數和問題上,現在它顯示了所有的文件。非常感謝。 –

+2

它們應該是相同的功能,不應該是問題。你可能做了其他的錯誤,但你沒有提供足夠的代碼來重現問題 –

回答

1

什麼是目錄和子目錄添加到QStringList中正確的方法是什麼?

你寫的是正確的。

看來你現在已經解決了這個問題,我們只能說錯誤是在你的代碼的不同位置,而不是在for和while在同一個函數或方法本身。如果它們是順序的,即for循環跟在while循環之後,那麼應該沒問題,因爲從打印點開始,你累積了所有你感興趣的路徑。

相關問題