分享

qt文件操作随笔

 tianht 2015-07-01
1、//调用保存对话框
QString strSaveFile = QFileDialog::getSaveFileName(NULL,"保存为",m_strPath,".mht");
if (!strSaveFile.isEmpty())
{
}
2、//打开多个文件对话框
QStringList filelist = QFileDialog::getOpenFileNames(this,
"Open File",
"/home",
"所有文件(*.*)"
);
3、//打开目录对话框
QString dir = QFileDialog::getExistingDirectory(this,"Open Directory","/home", QFileDialog::ShowDirsOnly|QFileDialog::DontResolveSymlinks);
4、摘抄:http://blog.csdn.net/hpjx1987/article/details/10294951
QDir类提供了一种与平台无关的遍历目录并获得有关文件信息的方法。总结了一下它的用法如下:

  1:如何根据一个目录查到它的子目录及它所拥有的文件:

  1. int MainWindow::findAllFileAndDir(const QString &dirPath)  
  2. {  
  3.     QDir dir(dirPath);  
  4.     int result = 0;  
  5.     foreach (QFileInfo fileInfo, dir.entryInfoList(QDir::Dirs | QDir::Files))  
  6.     {  
  7.         QString strName = fileInfo.fileName();  
  8.         if ((strName == QString(".")) || (strName == QString("..")))  
  9.             continue;  
  10.         if (fileInfo.isDir())  
  11.         {  
  12.             QString str = dirPath + "/" + strName + "/";  
  13.             result++;  
  14.             result += findAllFileAndDir(str);  
  15.         }  
  16.         else  
  17.         {  
  18.             result++;  
  19.         }  
  20.     }\  
  21.     return result;  
  22. }  
通过上面的代码可以查找到一个目录所含有的文件夹及文件目录。

 2:删除文件及文件夹的方法:

删除文件夹:

  1. QDir dir(dirPath);  
  2. dir.rmdir(strFileName);  

删除文件:

  1. QFile::remove(strFileName);  
如果当前文件是只读的话,则删除不成功。可以通过修改文件的属性来设置成可写的

  1. QFile file(strFile);  
  2. file.setPermissions(QFile::WriteOwner); 



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多