文档库 最新最全的文档下载
当前位置:文档库 › qt 获取当前目录下的文件列表

qt 获取当前目录下的文件列表

Qt 获取程序运行路径
//在需要的地方
QString path;
QDir dir;
path=dir.currentPath();
QMessageBox::warning(0,"PATH",path,QMessageBox::Yes);//查看路径

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//其他
QString strExePath = QApplication::applicationDirPath();
QString strExePath = QCoreApplication::applidcationDirPath();
QString strExePath = QDir::currentPath();


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

qt 获取当前目录下的文件列表
QDir::SortSpec
这个枚举变量描述的是QDir如何排列由entryList()或entryInfoList()返回的条目。被指定的排列的值可以由下述列表中的值或运算得到:
QDir::Name - 按名称排序。
QDir::Time - 按时间排序(修改时间)。
QDir::Size - 按文件大小排序。
QDir::Unsorted - 不排序。
QDir::SortByMask - Name、Time和Size的掩码。
QDir::DirsFirst - 首先是目录,然后是文件。
QDir::Reversed - 相反的排序顺序。
QDir::IgnoreCase - 不区分大小写进行排序。
QDir::DefaultSort - 内部标记。


代码:
QStringList DirFileListXml(QString xmlName,QString Path) //文件list
{ //xmlName 文件类型 Path 路径

QStringList fileList;
QDir dir(Path);
if (!dir.exists()) return fileList;
dir.setFilter(QDir::Dirs|QDir::Files);
//dir.setSorting(QDir::DirsFirst);
dir.setSorting(QDir::Time |QDir::Reversed);
//排序方式 修改时间从小到大 QFileInfoList list = dir.entryInfoList();
int i=0,filecont=0;
do{ QFileInfo fileInfo = list.at(i);
if(fileInfo.fileName() == "." || fileInfo.fileName()== "..") { qDebug()<<"filedir="<i++;
continue;
} bool bisDir=fileInfo.isDir();
if(bisDir) { } else { QString currentFileName=fileInfo.fileName();
bool Reght=currentFileName.endsWith(xmlName, Qt::CaseInsensitive);
if(Reght) { fileList<qDebug()<<"filelist sort="<filecont++;
} } i++;
}while(ireturn fileList;
}


+++++++++++++++++++++++++++++++++++++

QT文件读取路径
分类: C++编程 2012-06-19 10:21 769人阅读 评论(0) 收藏 举报
qt工作编程中兴xmlc
最近在弄中兴的一个程序大赛,用QT读取XML文件的编程。在编程中发现QT文件读取路径与VS有不同之处。我们提供给QFile的文件路径无非就是绝对路径和相对路径。绝对路径是绝对没问题的,不过相对路径就得小心了。
谈到相对路径,需要注意区分进程所在“当前工作目录”和“程序所在目录”。vs中工作目录是在你所建工程的cpp元文件所在目录中,而QT Creator确实在你程序.exe文件的上一级目录中。QT Creator的程序所在所在目录是生成.exe文件所在目录,VS也应该一样。
QT中可执行以下代码来查询这两个路径:
[cpp] view plaincopyprint?
qDebug()<<"current applicationDir

Path: "<qDebug()<<"current currentPath: "<
在我自己的程序中consle给出的结果是:
Starting C:\Users\neuqbingoye\Desktop\Project\xinfeng\XMLReader-build-desktop-Qt_4_8_1_for_Desktop_-_MSVC2008__Qt_SDK__Debug\debug\XMLReader.exe...
current applicationDirPath: "C:/Users/neuqbingoye/Desktop/Project/xinfeng/XMLReader-build-desktop-Qt_4_8_1_for_Desktop_-_MSVC2008__Qt_SDK__Debug/debug"
current currentPath: "C:/Users/neuqbingoye/Desktop/Project/xinfeng/XMLReader-build-desktop-Qt_4_8_1_for_Desktop_-_MSVC2008__Qt_SDK__Debug"

原来currentPath位于applicationDirPath上层。
请注意相对路径是从当前工作目录开始的。


相关文档
相关文档 最新文档