㈠ QT 获得指定文件夹及子文件夹下面的文件
使用QDir::entryInfoList获的文件夹下的所有文件列表(QFileInfoList),然后通过判断QFileInfoList中每个QFileInfo的类型,QFileInfo::isDir()判断是否目录,QFileInfo::isFile()判断是否是文件,对于目录,同样的方法处理即可获得子目录中的文件了。
㈡ qt相对路径,需要取到祖父目录下的文件夹
使用QDir 里面的相关方法,
QDir::current()获得当前Dir,然后使用cdUp()进到其父目录,两次调用应该就可以了
具体请参考:http://qt-project.org/doc/qt-4.8/qdir.html
㈢ qt 打开文件的几种方式
在/usr 目录下有e1.xml 文件,在程序的执行文件所在目录下有个test文件夹,test里有configurefile2.xml ;configurefile3.xml 一:工程里使用后缀为qrc的资源文件: 比如 资源文件里的内容为:<RCC<qresource <file alias="configfile1"/usr/configurefile1.xml</file <file alias="configfile2"test/configurefile2.xml</file <filetest/configurefile3.xml</file </qresource</RCC(其中test是在工程执行文件所在路径下的一个文件夹) 这样在程序中: QFile file1(":/configfile1"); QFile file2(":/configfile2"); QFile file3(":/test/configurefile3.xml"); file1.open(QFile::ReadOnly); file2.open(QFile::ReadOnly); file3.open(QFile::ReadOnly);上述三条打开文件的操作都可以成功打开对应文件, 但是如果在资源文件里 如果对某个文件的引用里加了alias别名的操作,比如QFile file2(":/test/configurefile2.xml"); file2.open(QFile::ReadOnly);将打开文件失败。 QT里:/表示对资源的引用,不是表示当前目录 二 使用相对路径 QFile file3("test/configurefile3.xml"); file3.open(QFile::ReadOnly);OPEN成功 三 使用绝对路径