在 qt 中使用 QFile.open 和 Qdir 将文件保存在特定目录中
Posted
技术标签:
【中文标题】在 qt 中使用 QFile.open 和 Qdir 将文件保存在特定目录中【英文标题】:Save file in a specific dir with QFile.open and Qdir in qt 【发布时间】:2014-03-03 15:30:57 【问题描述】:我试图用 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,但不在正确的目录中。我想放相对目录。 知道我怎么能达到它吗?
【问题讨论】:
您永远不必更改进程的当前目录。根本没有必要。 【参考方案1】:我认为您确实不需要更改当前目录。您可以在不更改当前目录的情况下生成文件的绝对文件路径:
QDir dir("/main/ui");
file.setFileName(dir.absoluteFilePath("tmp.ui"));
然而这似乎也毫无意义。你可以写file.setFilename("/main/ui/tmp.ui")
。
以“/”开头的路径是绝对路径。您确定文件系统根目录中有“/ui”或“/main”目录吗?这不太可能。尝试指定QDir
的有效绝对路径。如果要指定相对路径,将从初始当前目录(例如,可以是构建目录)开始搜索。
【讨论】:
以上是关于在 qt 中使用 QFile.open 和 Qdir 将文件保存在特定目录中的主要内容,如果未能解决你的问题,请参考以下文章