我想存储每个用户的持久数据,这是代码
QDir::toNativeSeparators(QStandardPaths::writableLocation(
QStandardPaths::DataLocation) + "/random.xxx");
它正确显示位置,但目录不是自动创建的即
.local/share/组织名称/应用程序名称/random.xxx
已指定应用程序名称和组织名称:
QApplication::setApplicationName(APPLICATION_NAME);
QApplication::setOrganizationName(ORGANIZATION_NAME);
当我手动创建目录时,一切都很正常。
这段代码对我有用:
QApplication::setApplicationName("MyApp");
QApplication::setOrganizationName("Me");
#if QT_VERSION >= 0x050000
this->HomePath = QStandardPaths::writableLocation(QStandardPaths::DataLocation);
#else
this->HomePath = QDesktopServices::storageLocation(QDesktopServices::DataLocation);
#endif
尝试在QDir::mkpath
中包装您的QDir::toNativeSeparators
调用。