0

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

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

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

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

它创建文件 tmp,但不在正确的目录中。我想放相对目录。知道我怎么能达到它吗?

4

1 回答 1

0

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

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

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

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

于 2014-03-03T16:36:23.777 回答