四时宝库

程序员的知识宝库

QT进阶之路 : 路径篇1(qt 文件路径)

本人技术小白一枚,运用QT也有一段时间,其中遇到很多问题,也通过网上查阅找到很多解决办法,但是感觉因为版本问题导致解决方案很多,但是能解决实际问题的不容易,所以就把我工作中遇到的问题和对应版本进行统计,与大家共勉;希望各位大神多给意见;

QT版本号:qt-opensource-windows-x86-mingw492-5.5.1

1、使用QDir::currentPath()获取的应用app所在的绝对路径,它返回的字符串后面不带“/”,所以当用他获取某个路径的时候,当然后面添加的路径是在APP所在的路径内部文件:

QString fileFullName = QDir::currentPath().append("files/project.xml");//错误
QString fileFullName = QDir::currentPath()+"files/project.xml";//错误

由于在后面加的路径前面没有添加“/”所以会无法获取文件,应该改为下面:

QString fileFullName = QDir::currentPath().append("/files/project.xml");//正确
QString fileFullName = QDir::currentPath()+"/files/project.xml";//正确
QString fileFullName = QDir::currentPath()+"/"+"files/project.xml";//正确

2、"./":表示的是当前应用程序app所在目录的路径,与QDir::currentPath()意思相当;例如:

"./files/project.xml"表示的意思与QDir::currentPath().append("/files/project.xml")相同;

表示的都是当前应用app所在的文件里面files文件中的project.xml文件;

应用程序app所在的目录是途中release文件中,则"./"QDir::currentPath()表示的就是"E:/2019QT/devtab/build-untitled1-Desktop_Qt_5_5_1_MinGW_32bit-Release";即就是release文件所在的目录;

当文件放到上图助攻files文件下的时候,我们定义需要的文件就可以用一下方案:

QFile file("./files/project.xml");
QFile file( QDir::currentPath()+"/files/project.xml");

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接