Qt实现多选不同格式文件拷贝

void FileImportWidget::importFileDialog()
{
    QString todir="F:/files";//目的地址
    QStringList files = QFileDialog::getOpenFileNames(
                                this,
                                "Select one or more files to open",
                                "/home",
                                "所有文件(*.*);;word文件(*.doc);;音频文件(*.mp3 *.mp4)");
    QStringList list = files;
    QStringList::Iterator it = list.begin();
    while(it != list.end())
    {
        copyFileToPath(*it,todir,1);
        ++it;
    }
}

/**< 单个文档进行拷贝 */
bool FileImportWidget::copyFileToPath(QString sourceDir ,QString toDir, bool coverFileIfExist)
{
    QDir targetDir(toDir);
    if(!targetDir.exists())
    {    /**< 如果目标目录不存在,则进行创建 */
           if(!targetDir.mkdir(targetDir.absolutePath()))
               return false;
    }
    QFileInfo fileInfo=sourceDir;
       if(coverFileIfExist && targetDir.exists(fileInfo.fileName()))
     {
           targetDir.remove(fileInfo.fileName());
     }
       if(!QFile::copy(fileInfo.filePath(),
           targetDir.filePath(fileInfo.fileName())))
           return false;
    return true;
}

你可能感兴趣的:(qt,Files,拷贝)