QDir::tempPath() 对比 QStandardPaths::writableLocation()
QDir::tempPath() vs QStandardPaths::writableLocation()
我需要获取临时目录的路径。以下方法之间是否有任何区别(除了第一个在 Qt 4 中可用)?哪个更好用?
TL;DR:更喜欢 QStandardPaths::writableLocation
。
在 Unix、OS X 和 Windows 上没有区别。在那里,他们保证总是 return 同样的事情。也就是说 - 在 qstandardpaths_win.cpp
、qstandardpaths_unix.cpp
、qstandardpaths_mac.mm
和 qstandardpaths_winrt.cpp
中:
QString QStandardPaths::writableLocation(StandardLocation type) {
switch (type) {
//[...]
case TempLocation:
return QDir::tempPath();
在 Android 和 Haiku 上,由 QStandardPaths::writableLocation
编辑的值 return 使用适当的 system-specific 方法,而由 [=] 编辑的值 return 17=] 使用基于遗留 environment-variable 的方法,在这些系统上应被视为已弃用。
我需要获取临时目录的路径。以下方法之间是否有任何区别(除了第一个在 Qt 4 中可用)?哪个更好用?
TL;DR:更喜欢 QStandardPaths::writableLocation
。
在 Unix、OS X 和 Windows 上没有区别。在那里,他们保证总是 return 同样的事情。也就是说 - 在 qstandardpaths_win.cpp
、qstandardpaths_unix.cpp
、qstandardpaths_mac.mm
和 qstandardpaths_winrt.cpp
中:
QString QStandardPaths::writableLocation(StandardLocation type) {
switch (type) {
//[...]
case TempLocation:
return QDir::tempPath();
在 Android 和 Haiku 上,由 QStandardPaths::writableLocation
编辑的值 return 使用适当的 system-specific 方法,而由 [=] 编辑的值 return 17=] 使用基于遗留 environment-variable 的方法,在这些系统上应被视为已弃用。