我需要获取临时目录的路径。以下两种方法有什么区别(除了第一种方法只适用于Qt 4)?哪一种更好使用?
我需要获取临时目录的路径。以下两种方法有什么区别(除了第一种方法只适用于Qt 4)?哪一种更好使用?
TL;DR: 建议使用QStandardPaths::writableLocation
。
在Unix、OS X和Windows系统中,它们保证始终返回相同的结果。例如,在qstandardpaths_win.cpp
、qstandardpaths_unix.cpp
、qstandardpaths_mac.mm
和qstandardpaths_winrt.cpp
文件中:
QString QStandardPaths::writableLocation(StandardLocation type) {
switch (type) {
//[...]
case TempLocation:
return QDir::tempPath();
QStandardPaths::writableLocation
返回的值采用了适当的系统特定方法,而tempPath
返回的值使用了基于遗留环境变量的方法,在这些系统上应该被视为已弃用的方法。QDir :: tempPath
使用)已被弃用?请注意,我已经提交了一个错误报告(https://bugreports.qt.io/browse/QTBUG-98502),以在Android上实现两个函数的相同。 - m7913d
QStandardPaths::writableLocation(QStandardPaths::TempLocation)
代替QDir::tempPath()
,如果是在Qt4中,则使用类似的方法。 - eyllanesc