Qt笔记-windows下拷贝文件夹中所有文件
生活随笔
收集整理的這篇文章主要介紹了
Qt笔记-windows下拷贝文件夹中所有文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這里其實各個平臺都通用,但個人感覺,如果是linux,直接用shell命名。更加方便。
這里邏輯是這樣的。
遞歸函數,直接先找到最里面,把文件拷貝。然后逐步出來即可!
下面是代碼:
generatefile.h
#ifndef GENERATEFILE_H #define GENERATEFILE_H#include <QObject>class GenerateFile : public QObject {Q_OBJECT public:explicit GenerateFile(QObject *parent = 0);static bool cpDir(const QString &srcPath, const QString &dstPath);............signals:public slots: };#endif // GENERATEFILE_Hgeneratefile.cpp
#include "generatefile.h" #include <QDir> #include <QSettings> #include <QDebug>GenerateFile::GenerateFile(QObject *parent) : QObject(parent) {}bool GenerateFile::cpDir(const QString &srcPath, const QString &dstPath) {QDir parentDstDir(QFileInfo(dstPath).path());if(!parentDstDir.mkdir(QFileInfo(dstPath).fileName())){return false; }QDir srcDir(srcPath);foreach(const QFileInfo &info, srcDir.entryInfoList(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot)){QString srcItemPath = srcPath + "/" + info.fileName();QString dstItemPath = dstPath + "/" + info.fileName();if(info.isDir()){if(!cpDir(srcItemPath, dstItemPath)){return false;}}else if(info.isFile()){if(!QFile::copy(srcItemPath, dstItemPath)){return false;}}else{qDebug() << "Unhandled item" << info.filePath() << "in cpDir";}}return true; }...... ......?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Qt笔记-windows下拷贝文件夹中所有文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++|Qt笔记-关于extern和na
- 下一篇: 初窥JDK自带注解