QT中在全盘中寻找特定的文件

原创 2015年11月18日 14:27:38
1.在全盘中寻找特定的文件 
<pre name="code" class="cpp">#include "mainwindow.h"
#include <QApplication>
#include <QFileSystemModel>
#include <QTreeView>
#include <QList>

typedef struct fileNamePath
{
	QString strFileName;
	QString strFilePath;
}sfileNamePath;
QList<sfileNamePath> g_sfnp;
//在strDir这个文件夹下面找到fileName这种文件
void findSpecialFile(QString strDir,QStringList fileName)
{
	QDir curdir(strDir);
	curdir.setFilter(QDir::AllEntries|QDir::NoDotAndDotDot);
	QFileInfoList curdirlist = curdir.entryInfoList();
	foreach(QFileInfo sfiles,curdirlist)
	{
		QString sfilesname=sfiles.fileName();
		if (sfiles.isDir()==true)
		{
			QString strFileName=sfiles.filePath();
			findSpecialFile(strFileName,fileName);
		}
		if (sfiles.isFile()==true)
		{
			//QList<sfileNamePath> scurDir=findSpecialFile(sfiles.fileName(),fileName);
			QString ext = "*."+sfiles.suffix();
			if (fileName.contains(ext,Qt::CaseInsensitive))
			{
				sfileNamePath snew;
				snew.strFileName=sfiles.fileName();
				snew.strFilePath=sfiles.filePath();
				g_sfnp.append(snew);
			}
		}
	}

	//return s;
}
int main(int argc, char *argv[])
{
	QApplication app(argc, argv);

	//先找到所有的ICE的名字与路径
	QFileInfoList DirInfoList=QDir::drives();//drives(), current(), home(), and root().
	QStringList fileName;
	fileName<<"*.ice";//<<"*.txt";
	foreach(QFileInfo fileInfo ,DirInfoList)
	{
		QString qStr=fileInfo.path();
		findSpecialFile(qStr,fileName);
	}
	int ncnt=g_sfnp.count();
	return app.exec();
}

图:



                    

相关文章推荐

qt——QFileDialog使用对话框选取本地文件

QFileDialog *fileDialog = new QFileDialog(this);//创建一个QFileDialog对象,构造函数中的参数可以有所添加。 fileDialog->...

Qt中文件读取的几种方式

1、直接用文件的按时读取,读取之后写在一个QString里面QByteArray ba=file.read(file.bytesAvailable()); QString text=QString(b...

QT在一个文件夹下面查找某个特定的内容(如查找一个字符串)

源代码DEMO:C:\Qt\Qt5.5.1\Examples\Qt-5.5\widgets\dialogs\findfiles\findfiles.pro

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Qt关于文件和文件夹的操作

1
  • hpjx1987
  • hpjx1987
  • 2013年08月25日 11:26
  • 13178

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Qt Creator如何进行高级查找(或全工程查找)

Qt Creator如何进行高级查找(或全工程查找) 高级查找位置:edit - find/replace - advanced find - open advanced find 可以看出,快捷...

QT实现文件查找显示列表功能

1、UI设计,存储结果为FindFileForm.ui 2、编译ui文件生成辅助ui头文件ui_FindFileForm.h 3、实现对话框界面逻辑,FindForm类 #ifndef ...

QT 遍历目录查找指定文件

QString FindFile(const QString &strFilePath, const QString &strNameFilters) {  if (strFilePath.isE...

Qt - 正确判断文件、文件夹是否存在的方法

Qt - 正确判断文件、文件夹是否存在的方法 一直对Qt的isFile、isDir、exists这几个方法感到混乱,不知道到底用哪个,网上搜了下资料,也是用这几个方法 但是都没有对...
  • haiross
  • haiross
  • 2015年12月01日 10:56
  • 10825
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QT中在全盘中寻找特定的文件
举报原因:
原因补充:

(最多只允许输入30个字)