Qt 遞迴方式遍歷目錄

2021-06-29 03:35:33 字數 688 閱讀 2510

基本思想:

1.指定乙個目錄

2.找到當前目錄下的檔案(不包括資料夾,qdir可以進行篩選),存入qfileinfolist,然後按順序存入qtreewidgetitem,並新增至根節點

3.找到當前目錄下的第乙個資料夾,作為乙個新的根節點

4.重複2,3過程,直到沒有新的資料夾

至此遞迴過程完畢。

qfileinfolist fileviwer::allfile(qtreewidgetitem *root,qstring path, qstringlist filters)         //引數為主函式中新增的item和路徑名

qfileinfolist file_list=dir.entryinfolist(qdir::files | qdir::hidden | qdir::nosymlinks);

qfileinfolist folder_list = dir.entryinfolist(qdir::dirs | qdir::nodotanddotdot); //獲取當前所有目錄

for(int i = 0; i != folder_list.size(); i++) //自動遞迴新增各目錄到上一級目錄

return file_list;

}

對於qtreewidget的新收穫在仔細學習完後繼續。

遞迴遍歷目錄

遞迴 乙個函式內部在其內部不呼叫其他函式,而是呼叫自身,類似迴圈 注,自己玩自己,防止死遞迴 使用遞迴來遍歷出乙個目錄中的所有檔案 import os def getalldirre path,sp 引數 路徑 返回值 none 完成功能,獲取呼叫者傳遞的路徑下的所有檔案 檔案 直接顯示,資料夾 二...

遞迴遍歷和刪除目錄

在踩過遞迴刪除資料夾的坑 刪了好多東西啊!之後,本人總結了一下採用遞迴遍歷目錄和遞迴刪除目錄。坑 的來歷 在遍歷目錄時,裡面會有 和 兩個目錄,分別指向上一級和再上一級的目錄,這兩個不能刪除,是指標,在windows下看不見,刪除檔案時,必須過濾掉這兩個,否則向上找檔案刪除會刪除所有檔案 我就是踩了...

遞迴遍歷02 棧模擬遍歷目錄(深度遍歷)

import os def getalldir path stack 當棧為空的時候處理棧 while len stack 0 從棧裡取資料 dirpath stack.pop filelist os.listdir dirpath 處理檔案 for filename in filelist fil...