㈠ 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成功 三 使用絕對路徑