我在使用Qt时遇到了创建文件夹的问题。 我想要在“文档”文件夹下创建一个文件夹,所以我进行了一些操作,类似于:
QString path("C:/Users/Me/Documents/MyApp/profiles/");
Qdir dir = QDir::root();
dir.mkdir(path);
但是那样不起作用!我已经测试了“/”和“\”作为分隔符,但在这两种情况下都不起作用。
我应该如何创建我的目录?
谢谢。
我在使用Qt时遇到了创建文件夹的问题。 我想要在“文档”文件夹下创建一个文件夹,所以我进行了一些操作,类似于:
QString path("C:/Users/Me/Documents/MyApp/profiles/");
Qdir dir = QDir::root();
dir.mkdir(path);
但是那样不起作用!我已经测试了“/”和“\”作为分隔符,但在这两种情况下都不起作用。
我应该如何创建我的目录?
谢谢。
你可以这样做:
QDir dir(path);
if (!dir.exists()){
dir.mkdir(".");
}
尝试使用QDir::mkpath
替代dir.mkdir()
;
例如:dir.mkpath(path);
QDir dir = QDir::root()
创建一个指向根目录的QDir
实例,并将该设置复制到dir
。为避免额外的复制和代码,您可以使用QDir dir(QDir :: root);
。在Windows上,它将指向系统驱动器的根目录,通常是C:\
。
dir.mkdir(path)
将尝试在当前配置的目录(根目录)中创建一个名为path
的子目录。此方法期望一个单个目录名称而不是完整路径。它还返回一个bool
结果,您应该检查。
您可能想要调用dir.mkpath(path)
,它将尝试创建指定的子目录以及通向它的所有必要父目录。同样,您应该检查结果以查看是否成功。