通过Qt Creator运行应用程序时无法写入文件

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

标签: qt file-io

我正在构建一个需要从多个文件读写的应用程序。我注意到当从Qt Creator内部运行时尝试写入这些文件时,我收到消息" QIODevice :: write:device not open&#34 ;,但是如果我尝试独立运行应用程序工作正常,文件写入。

在任何一种情况下,应用程序都可以正常读取文件,唯一的问题是尝试编写文件。

无论应用程序是在调试版本还是已发布版本中运行,或者Qt Creator是否在管理模式下运行,都会发生这种情况。

以下是我尝试编写文件的特定实例的代码段:

void Window::saveConfig(Qt::Key binds[])
{
    QFile file(QDir::currentPath()+"/Data/config.dat");
    file.open(QIODevice::ReadWrite | QIODevice::Text);
    QTextStream out(&file);
    for (int x = 0; x < 6; x++)
    {
        QString s = QKeySequence(binds[x]).toString();
        out << s +"'\n";
    }
    file.close();
}

重申一下:应用程序可以在qt creator 之外编写文件,就在它内部无法正常工作

1 个答案:

答案 0 :(得分:1)

QDir :: currentPath()返回当前目录。在Qt Creator中,单击“项目”,然后单击“运行”选项卡,并将当前目录设置为您喜欢的任何内容。默认情况下(至少在我的机器上)它被设置为项目的构建文件夹。