1.通过按键选择路径
QString mainPath = QFileDialog::getExistingDirectory(this,tr("选择文件夹"),"F:",QFileDialog::ShowDirsOnly);
第一个参数是this,这里tr后的字符串是选择框的标题,F:是从F:开始选择文件夹,第四个参数为属性
QStringList fileType_Xlsx;
fileType_Xlsx << "*.xlsx";
选择完目标文件夹,就创建一个list来接收想删除的文件类型,这里举例.xlsx后缀,其他的类型比如MP3格式就*.mp3,如果想删除当前文件夹下的所有文件就用*.*,根据自己实际需求来写
QDir Dir(mainPath);
Dir.setNameFilters(fileType_Xlsx);
for(int i = 0 ;i < Dir.entryInfoList().size() ; i++)
{
QFile::remove(Dir.entryInfoList().at(i).filePath());
}
再创建QDir来接收选择的文件夹,用QDir下的entryInfoList()方法可以得到想要文件类型的列表,用QFile下的remove方法外加一个for循环遍历删除文件,filePath()方法是得到当前文件的绝对路径,如果单纯想得到文件名的话可以用fileName()方法。
2.直接在QDir中固定写路径
QStringList fileType_Xlsx;
fileType_Xlsx << "*.xlsx";
QDir Dir("固定路径");
Dir.setNameFilters(fileType_Xlsx);
for(int i = 0 ;i < Dir.entryInfoList().size() ; i++)
{
QFile::remove(Dir.entryInfoList().at(i).filePath());
}
方法步骤都是一样的,就是第一种路径比较灵活,不固定。