使用QFile.open和qd中的Qdir将文件保存在特定目录中

时间:2014-03-03 15:30:57

标签: qt qt-creator qfile qdir

我试图使用QFile.open()在qt creator中创建/保存文件。 但它始终在应用程序的构建文件夹中创建/保存文件。 我已经尝试过这段代码将dir更改为我的目录,该目录位于我的源/头文件所在的目录中。

QDir::setCurrent("/ui");
file.setFileName("tmp.ui");

QDir::setCurrent("/main/ui");

if (file.open(QIODevice::ReadWrite))
{
    builder.save(&file, myDialog);
}

它创建文件tmp,但不在右侧目录中。我想把相对目录。 知道我怎么能达到它吗?

1 个答案:

答案 0 :(得分:0)

我认为你真的不需要改变当前目录。您可以在不更改当前目录的情况下生成文件的绝对文件路径:

QDir dir("/main/ui");
file.setFileName(dir.absoluteFilePath("tmp.ui"));

然而,它似乎也毫无意义。你可以写file.setFilename("/main/ui/tmp.ui")

以'/'开头的路径是绝对的。您确定文件系统根目录中有'/ ui'或'/ main'目录吗?这不太可能。尝试指定QDir的有效绝对路径。如果要指定相对路径,将从初始当前目录(例如,可以是构建目录)中搜索它。