QDir mkdir with absolutepath

时间:2012-03-09 22:23:26

标签: qt directory absolute-path mkdir

我在使用Qt创建dir时遇到问题。 我想在文档中创建一个目录,所以,我做了一些类似的事情:

QString path("C:/Users/Me/Documents/MyApp/profiles/");
Qdir dir = QDir::root();
dir.mkdir(path);

但这不起作用!我用“/”和“\”测试分隔符,但在两种情况下不起作用。

我如何创建我的目录?

谢谢。

4 个答案:

答案 0 :(得分:31)

你可以这样做:

QDir dir(path);
if (!dir.exists()){
  dir.mkdir(".");
}

答案 1 :(得分:13)

尝试将QDir::mkpath用作dir.mkpath(path);

答案 2 :(得分:4)

QDir dir = QDir::root()创建一个QDir实例,配置为指向root并将该设置复制到dir。为避免额外的副本和代码,您可以使用QDir dir(QDir::root);。在Windows上,它将指向系统驱动器的根目录,通常为C:\

dir.mkdir(path);将尝试在当前配置的目录(root)中创建名为path的子目录。此方法需要单个目录名称而不是完整路径。它还会返回您应该检查的bool结果。

您可能希望调用dir.mkpath(path),它将尝试创建指定的子目录以及导致它的所有必需的父目录。同样,您应该检查结果以确定它是否成功。

答案 3 :(得分:0)