QDir::tempPath() 对比 QStandardPaths::writableLocation()

QDir::tempPath() vs QStandardPaths::writableLocation()

我需要获取临时目录的路径。以下方法之间是否有任何区别(除了第一个在 Qt 4 中可用)?哪个更好用?

TL;DR:更喜欢 QStandardPaths::writableLocation

在 Unix、OS X 和 Windows 上没有区别。在那里,他们保证总是 return 同样的事情。也就是说 - 在 qstandardpaths_win.cppqstandardpaths_unix.cppqstandardpaths_mac.mmqstandardpaths_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 的方法,在这些系统上应被视为已弃用。