當前位置:首頁 » 文件管理 » qt遍歷文件夾

qt遍歷文件夾

發布時間: 2022-07-19 11:17:00

Ⅰ qt 用什麼方法使函數不被打斷

如果你實在想用qt又要用c/c++標准庫,那麼 qt for vs 倒是一個不錯的選擇,可惜貌似你在Linux使用的。程序編譯出錯,很有可能是因為找不到你用到某些函數的頭/庫文件。
不過你既然都用到qt了,建議還是用qt提供的一整套機制來實現你的程序,對於你問題中提到的需求,可以有下面的解決方式:
用QDir類可以實現對所有目錄/文件的遍歷操作,
用QFile/QTextStream可以實現對文件讀寫的操作等。
qt提供的介面都很友好,你稍微看一下qt的幫助文檔就知道應該怎麼用了。不過如果你是想把一個C語言做的項目用qt重做的話,那就當我什麼都沒有說了~

Ⅱ 《qt》中如何提取當前目錄下指定後綴名的文件

QFileInfoList InfoList = QDir(qApp->applicationDirPath()).entryInfoList();//獲取當前目錄所有文件
QFileInfoList SuffixInfoList;//定義放提取文件的List
//遍歷
foreach(QFileInfo fileInfo, QFileInfoList)
{
if(!fileInfo.isFile()) continue;//不是文件繼續,只用於加速,可不加
//後綴不區分大小寫,需要區分直接用「==」
if(0==fileInfo.suffix().compare(後綴), Qt::Caseinsensitive)
{
SuffixInfoList << fileInfo;//指定後綴,加入列表
}
}

以上純為手打,不是Copy的,可能有些拼寫錯誤大小寫錯誤什麼的,望諒解

Ⅲ 如何在QT中寫C函數

如果你實在想用qt又要用c/c++標准庫,那麼 qt for vs 倒是一個不錯的選擇,可惜貌似你在Linux使用的。程序編譯出錯,很有可能是因為找不到你用到某些函數的頭/庫文件。
不過你既然都用到qt了,建議還是用qt提供的一整套機制來實現你的程序,對於你問題中提到的需求,可以有下面的解決方式:
用QDir類可以實現對所有目錄/文件的遍歷操作,
用QFile/QTextStream可以實現對文件讀寫的操作等。
qt提供的介面都很友好,你稍微看一下qt的幫助文檔就知道應該怎麼用了。不過如果你是想把一個C語言做的項目用qt重做的話,那就當我什麼都沒有說了~

Ⅳ QT編程中對於文件操作的程序講解,最好是把下面的程序一句一句的解釋下:在線等,十分感謝

void funlibEdit::InitTypeData()
{
//讀基本類型
QFile file("datatype"); //datatype為讀取的文件名,這里可以為路徑,否則表示為當前路徑
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) //設置為Text方式只讀,並判斷是否打開
return; //若打開失敗直接返回

QTextStream in(&file); //將內容讀到文本流中,即in中為datatype中的所有內容
while (!in.atEnd()) //循環遍歷到結束
{
QString loctype = in.readLine(); //讀一行到locttupe
loctype = loctype.simplified(); //這個應該是化簡,具體我不清楚,你可以去看下手冊simplified的函數功能
m_typelist.append(loctype); //在m_typelist這段字元串之後加上loctype這個字元串
}
file.close(); //關閉打開的datatype文件

//讀類型映射
QFile mapfile("datatypemap");
if (!mapfile.open(QIODevice::ReadOnly | QIODevice::Text)) //同上判斷
return;

QTextStream mapin(&mapfile); //同上
while (!mapin.atEnd()) //同上
{
QString mapline = mapin.readLine(); //同上
int index = mapline.indexOf(":"); //所以「:」,返回位置
QString outtype = mapline.left(index).simplified(); //同上
QString intype = mapline.right(mapline.length()-index-1).simplified(); //同上

m_typemap[outtype] = intype; //放到數組中,功能同上
}
mapfile.close(); //同上
}

Ⅳ qt中怎樣遍歷一個txt文件內容

//用文件流來讀取
QFilefile("my.txt");
file.open(QIODevice::ReadOnly);
QTextStramout(&file);
while(!out.atEnd()){
//每次讀取一行,然後判斷即可
QStringstrReadLine=out.readLine();
}

Ⅵ 請問QT中一次載入一個文件夾的圖片並可以一張一張的顯示出來該該怎麼做呢

把文件夾里的圖片路徑保存在QStringList當中,實現對QStringList的遍歷,這樣就可以實現一張一張的顯示了

Ⅶ qt qmultimap 哪種遍歷器 效率好

依然要遍歷了,那就就得寫循環了,上下的就是把你的變數面弄進循環裡面去 剩下的就是變數後面直接往出點,一般就是你要的屬性,或者就是get什麼的

Ⅷ QT中遍歷一個文件夾並給文件夾中的每個文件改名字,如何構造遍歷文件夾的迭代器,請高手指教啊

QDirIterator it("/etc", QDirIterator::Subdirectories);
while (it.hasNext()) {
qDebug() << it.next();

// /etc/.// /etc/..// /etc/X11// /etc/X11/fs// ...
}

迭代器不用自己寫 還有隻是重命名文件名不用打開文件的 我沒具體寫 你先試試吧

Ⅸ QT treewideget怎麼實現顯示一個文件及文件夾裡面的子文件夾

這個可以使用QTreeview和QFileSystemModel:官方文檔例子如下:

It is simple to construct a tree view displaying data from a model. In the following example, the contents of a directory are supplied by a QFileSystemModel and displayed as a tree:
QFileSystemModel *model = new QFileSystemModel;
model->setRootPath(QDir::currentPath());
QTreeView *tree = new QTreeView(splitter);
tree->setModel(model);

如果要使用QTreeWidget 就要使用QFileInfo對文件夾進行遍歷,挨個添加到QTreeWidget中。有關QFileInfo請參考幫助文檔:http://qt-project.org/doc/qt-4.8/qfileinfo.html

Ⅹ qt 讀取目錄下的文件個數 包括各種的子目錄下的文件只要是在這個大目錄下的

//下面只是一個思路示例,不保證語法完全正確。
qint64GetFolderSize(QStringfolder)
{
QDirdir(folder);
if(!dir.exists())
return0;
qint64totalsize=0;
QFileInfoListlist=dir.entryInfoList();
for(intii=0;ii<list.size();ii++)
{
QFileInfofileInfo=list.at(ii);
if(fileInfo.isFile())
totalsize+=fileInfo.size();
elseif(fileInfo.isDir())
{
totalsize+=GetFolderSize(fileInfo.path);
}
}
returntotalsize;
}

熱點內容
如何用安卓編譯項目 發布:2025-01-24 08:30:46 瀏覽:863
計算機同時輸出和存儲設備的區別 發布:2025-01-24 08:29:21 瀏覽:581
食物語上傳 發布:2025-01-24 07:58:44 瀏覽:754
編程相關書籍 發布:2025-01-24 07:55:45 瀏覽:430
英雄聯盟手游需要哪些配置 發布:2025-01-24 07:42:03 瀏覽:985
regex可以靜態編譯嗎 發布:2025-01-24 07:40:32 瀏覽:79
怎麼編譯rec 發布:2025-01-24 07:39:04 瀏覽:56
卡片沒加密 發布:2025-01-24 07:33:56 瀏覽:381
linux備份mysql 發布:2025-01-24 07:26:54 瀏覽:391
蘋果手機忘記id密碼怎麼刷機 發布:2025-01-24 07:26:47 瀏覽:695