qt 返回当前文件夹名称
时间: 2023-10-26 14:06:20 浏览: 37
你可以使用 `QDir` 类来获取当前文件夹名称。以下是一个示例代码:
```cpp
#include <QCoreApplication>
#include <QDir>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QDir currentDir = QDir::current();
QString currentDirName = currentDir.dirName();
qDebug() << "Current directory name:" << currentDirName;
return a.exec();
}
```
该代码先获取当前的 `QDir` 对象,然后调用 `dirName` 方法获取当前文件夹名称,并将其打印到控制台上。
相关问题
qt QFileInfo返回当前文件夹名称
可以使用QFileInfo的dir()函数获取当前文件所在的目录,然后再使用dir()函数的dirName()函数获取目录名称。示例代码如下:
```cpp
#include <QCoreApplication>
#include <QDebug>
#include <QFileInfo>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QFileInfo fileInfo("test.txt");
QString dirName = fileInfo.dir().dirName();
qDebug() << "Current directory name: " << dirName;
return a.exec();
}
```
假设当前工程目录下有一个名为test.txt的文件,运行上述代码将输出该文件所在的目录名称。
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`函数遍历每个子文件夹。