关于QDir
通常我们使用QFileDialog来选择一个文件路径;
但是当我们需要打开指定文件时(如:选择一个文件路径,获取到文件中的内容)时,则需要使用QDir
例:
QDir dir(path); //打开文件
QStringList fileNameList;
fileNameList.append(“*.mp3”); //过滤器,用来选择文件类型
QStringList fileLists=dir.entryList(fileNameList,QDir::Files|QDir::Readable,QDir::Name);
注:
entryList()函数的参数分别代表:文件名称过滤器,文件属性过滤器,排序方式
也可以通过setNameFilters()、setFilter()、setSorting()这个三个函数来覆盖设置。
如果需要使用QDir来保存文件
QString saveFileName=“xxxxx”;
QDir dir(path);
//判断此路径下是否有saveFileName文件夹
if(!dir.exists(saveFileName))
{
//没有则创建此文件夹
dir.mkdir(saveFileName);
}
//切换目录到该文件夹
dir.cd(saveFileName);
//设置当前目录为该文件夹
dir.setCurrent(saveFileName);
如果需要给QFileDialog设置指定打开路径中的某个文件
QDir* dir = new QDir(path);
if(!dir->exists(“FileName”))
{
dir->mkdir(“FileName”);
}
dir->setCurrent(“FileName”);
//再使用QFileDialog打开该文件
QFileDialog *fileDlg = new QFileDialog(this);
fileDlg->setDirectory(dir);