c – Qt如何在当前目录中打开文件?或者这有什么问题?

我正在尝试在可执行文件的当前位置打开一个xml文件

        QString path = QDir::currentPath();
        path.append("/acc.xml");
        QFile file(path);

        if(!file.open(QIODevice::ReadOnly))
        {
            insertItem("IO ERR");
        }

>当我从Qt创建者运行它时,一切正常. currentPath()返回可执行文件夹的路径
>当我转到project-build-desktop /文件夹并尝试手动运行时,currentPath()返回/ home / user / Documents

编辑

也试过相同的结果:

Qt::current().path();
Qt::current().absolutePath();
最佳答案
尝试使用QCoreApplication :: applicationDirPath()而不是QDir :: currentPath().

详情请见http://doc.qt.io/qt-5/qcoreapplication.html#applicationDirPath

转载注明原文:c – Qt如何在当前目录中打开文件?或者这有什么问题? - 代码日志