本博文源于笔者正在遇到的问题,如何让qt打开文件目录中的视频文件,并将视频文件拷贝到指定目录。该问题分为二个部分。第一部分:用qt打开目录选择视频文件;第二部分:qt遍历选择到的视频文件并将其拷贝到指定目录。其中第一部分只需要一个函数就能解决问题,第二部分,只需要遍历一下,逐个文件进行拷贝即可。下面就给出解决方案。
问题来源
想要用qt打开目录选择文件并拷贝到指定文件夹。
问题解决方案
cpp
QStringList fileNames = QFileDialog::getOpenFileNames(
this,
"Select one or more files to open",
"",
"Videos (*.h264)"//这个就是文件后缀
);
if (fileNames.isEmpty())//如果啥都没选,及时返回即可
return;
QString targetDirectory = "D:/tmp";//指定目录
for (const QString& fileName : fileNames) {
QFileInfo fileInfo(fileName);
QString targetFilePath = targetDirectory + fileInfo.fileName();
if (QFile::exists(targetFilePath)) {//如果视频文件存在,记得及时continue
continue;
}
QFile::copy(fileName, targetFilePath);//开始拷贝
}
qDebug() << "okook";