无法在资源目录中打开文件

时间:2014-06-08 06:20:32

标签: c++ qt file-io resources

我已经测试了我现在可以想象的每个自然迭代,但仍然无法使用QFile对象成功打开文件。我还测试过将文件放在./resources目录和源文件的目录中。

我在每次测试之间清理了我的项目,并重新启动了Qt Creator。我还删除了我的* .pro.user项目配置文件,并使用新版本进行了测试。

#include <QFile>
#include <QDebug>
...
//QFile input_file("./resources/testfile.txt");
//QFile input_file("qrc:/10_graph.txt");
//QFile input_file("testfile.txt");
QFile input_file(":/testfile.txt");
if (!input_file.exists()) {
  qDebug() << "File does NOT exist";
  exit(11);
}

enter image description here

Qt Creator&gt;&gt;约

Qt Creator 3.1.1(开源) 基于Qt 5.2.1(Clang 5.0(Apple),64位)

1 个答案:

答案 0 :(得分:2)

您应该将资源文件添加到项目中,并将testfile.txt添加到资源中。之后,您可以通过以下方式从资源访问该文件:

QFile input_file(":/testfile.txt");

如果您为资源添加前缀,则可以通过以下方式访问:

QFile file(":/somePrefix/new.txt");

如果您将文件放在源目录旁边的文件夹中并将其添加到资源中,则可以通过以下方式访问该文件:

QFile file(":/folderName/new.txt");