qt 如何递归创建文件夹
时间: 2023-10-06 09:13:57 浏览: 223
VC++ 递归文件夹
在Qt中,可以使用递归函数来创建文件夹。你可以在项目的头文件中声明一个函数,例如`QString createMultipleFolders(const QString path)`,并在源文件中实现它。
你可以参考以下代码示例:
```cpp
// widget.h 头文件
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QDir>
QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACE
class Widget : public QWidget {
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
QString createMultipleFolders(const QString path); // 创建文件夹
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
```
```cpp
// widget.cpp 源文件
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
}
Widget::~Widget()
{
delete ui;
}
QString Widget::createMultipleFolders(const QString path)
{
QDir dir(path);
if (!dir.exists()) {
if (dir.mkpath(path)) {
return "文件夹创建成功";
} else {
return "文件夹创建失败";
}
}
return "文件夹已存在";
}
```
在上述示例中,`createMultipleFolders`函数使用`QDir`类来递归创建文件夹。首先,它检查指定路径下的文件夹是否存在。如果不存在,它使用`mkpath`函数来创建文件夹。如果文件夹创建成功,函数返回"文件夹创建成功",否则返回"文件夹创建失败"。如果文件夹已经存在,则函数返回"文件夹已存在"。
在你的应用程序中,你可以通过调用`createMultipleFolders`函数并传递路径作为参数来递归创建文件夹。<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* *2* *3* [使用Qt的QDir/QFile类创建文件夹、以时间命名的dat/txt等文件、从文件中读写数据等操作](https://blog.csdn.net/m0_49456900/article/details/124928129)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
[ .reference_list ]
阅读全文