QT 查询文件夹所有文件代码
时间: 2023-07-28 09:10:36 浏览: 96
你可以使用 QDir 类来查询一个文件夹中的所有文件。以下是一个简单的示例代码:
#include <QDir>
#include <QDebug>
int main()
{
QString folderPath = "/path/to/folder"; // 文件夹路径
QDir folder(folderPath); // 创建 QDir 对象
// 获取文件夹中的所有文件
QStringList files = folder.entryList(QDir::Files);
// 输出文件名
foreach(QString file, files) {
qDebug() << file;
}
return 0;
}
在上面的代码中,首先创建了一个 QDir 对象,然后调用 entryList(QDir::Files) 方法获取文件夹中的所有文件。最后,使用 foreach 循环遍历文件列表,并输出每个文件的名称。
注意,这个示例代码是使用 Qt 的 C++ API 编写的。如果你使用的是 Qt 的其他语言绑定(如 PyQt 或 PySide),则代码可能会有所不同。
相关问题
Qt遍历文件夹下所有文件,Qt C++代码
您可以使用Qt中的QDir类来遍历文件夹下的所有文件,以下是一个简单的示例代码:
#include <QDir>
#include <QDebug>
void traverseDirectory(const QString& path)
{
QDir dir(path);
if(!dir.exists()) {
qWarning() << "Directory does not exist: " << path;
return;
}
dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
dir.setSorting(QDir::Size | QDir::Reversed);
QFileInfoList list = dir.entryInfoList();
for(int i = 0; i < list.size(); ++i) {
QFileInfo fileInfo = list.at(i);
if(fileInfo.fileName() == "." || fileInfo.fileName() == "..")
continue;
qDebug() << fileInfo.filePath();
}
foreach(QFileInfo subdir, dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot)) {
traverseDirectory(subdir.absoluteFilePath());
}
}
int main()
{
QString path = "/path/to/folder";
traverseDirectory(path);
return 0;
}
这个示例代码中,我们定义了一个traverseDirectory
函数,该函数使用QDir
类来遍历文件夹下所有文件。该函数首先检查指定的路径是否存在,然后设置过滤器和排序方式。然后遍历所有文件并输出它们的路径。最后,我们使用foreach
循环遍历所有子文件夹并递归调用traverseDirectory
函数。
Qt遍历当前文件夹所有文件
以下是一个示例代码,使用Qt遍历当前文件夹所有文件:
#include <QDir>
#include <QDebug>
void traverseFiles(const QDir& dir)
{
QStringList filters;
filters << "*.txt"; //可以根据需要修改过滤条件,这里只列出txt文件
QFileInfoList list = dir.entryInfoList(filters, QDir::Files);
foreach(QFileInfo fileInfo, list)
{
qDebug() << fileInfo.filePath();
}
QStringList subDirList = dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot);
foreach(QString subDir, subDirList)
{
traverseFiles(QDir(dir.filePath(subDir)));
}
}
int main(int argc, char *argv[])
{
QDir dir(".");
traverseFiles(dir);
return 0;
}
上述代码中,traverseFiles
函数用于遍历当前文件夹中的所有文件和子文件夹。首先,使用entryInfoList
函数获取当前文件夹中所有符合过滤条件(这里是txt文件)的文件,然后遍历输出每个文件的路径。接着,使用entryList
函数获取当前文件夹中所有子文件夹的名称,然后递归调用traverseFiles
函数遍历每个子文件夹。
相关推荐














