本文主要是介绍QDir和QFile的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.QDir
使用QFileDialog无法指定打开文件路径,可以利用QDir来指定路径。
例如:程序路径下有一个data文件夹,设置data文件夹为QFileDialog的初始打开路径。
//创建QDir变量,此时dir的路径和程序所在路径一致QDir* dir = new QDir();//判断此路径下是否有data文件夹if(!dir->exists("data")){dir->mkdir("data"); //没有则创建此文件夹}dir->setCurrent("data"); //设置当前目录为data文件夹//打开文件QFileDialog *fileDlg = new QFileDialog(this);fileDlg->setDirectory(dir); //设置QFileDialog默认打开路径if (fileDlg->exec()){QStringList fileNames;fileNames = fileDlg->selectedFiles();... //对选择的文件进行操作}//或者,保存文件QFileDialog::getSaveFileName(this,tr("Save File"),"",tr("TXT (*.txt)"));
2.QFile
文件操作:检查文件是否存在,不存在则创建。
bool confirmFile(const QString sFile) const
{ QString sAppPath = QCoreApplication::applicationDirPath(); QString sFilePath = sAppPath+sFile; QString sPath = sFilePath.left(sFilePath.lastIndexOf('/')); //文件是否存在 if(QFile::exists(sFilePath)) return true;//文件存在,则确认可以操作 //文件不存在,先看路径是否存在 QDir dir(sPath); if(!dir.exists(sPath)) { //路径不存在,则创建路径 if(!dir.mkdir(sPath)) return false;//路径创建失败就没办法了,通常不会失败 } //到这里需确认路径已经ok,且文件不存在,创建文件 QFile file(sFilePath); //当以Write方式打开时,若文件不存在则自动创建 if(!file.open(QIODevice::WriteOnly)) return false; file.close(); return true;
}
参考https://blog.csdn.net/Mr_wenjian/article/details/56480671
这篇关于QDir和QFile的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!