QT文件读取路径 .

来源:互联网 发布:desmume mac 编辑:程序博客网 时间:2024/04/28 07:15

最近在弄中兴的一个程序大赛,用QT读取XML文件的编程。在编程中发现QT文件读取路径与VS有不同之处。我们提供给QFile的文件路径无非就是绝对路径和相对路径。绝对路径是绝对没问题的吐舌头,不过相对路径就得小心了。

谈到相对路径,需要注意区分进程所在“当前工作目录”和“程序所在目录”。vs中工作目录是在你所建工程的cpp元文件所在目录中,而QT Creator确实在你程序.exe文件的上一级目录中。QT Creator的程序所在所在目录是生成.exe文件所在目录,VS也应该一样。

QT中可执行以下代码来查询这两个路径:

[cpp] view plaincopyprint?
  1. qDebug()<<"current applicationDirPath: "<<QCoreApplication::applicationDirPath();  
  2. qDebug()<<"current currentPath: "<<QDir::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上层。

请注意相对路径是从当前工作目录开始的。

原创粉丝点击