QString path = QDir::homePath(); // <-- "path" is always ""
这是4.7.4中的新错误吗?用于在4.7.3中正常工作
我在OSX Lion(4.7.3在Lion上工作)。
答案 0 :(得分:0)
嗯,如果我不使用“清除系统环境”,问题就解决了。我取消选中它,然后重新构建,它工作正常。它可能是“壳”的定义吗?我想不出除此之外与此有关的任何事情。我想有些东西导致Qt定义了 QT_NO_FSFILEENGINE ,因此返回一个空字符串:
// from Qt source file: QDir.cpp
QString QDirPrivate()
{
#ifdef QT_NO_FSFILEENGINE
return QString();
#else
return cleanPath(QFSFileEngine::homePath());
#endif
}
答案 1 :(得分:0)
“清除系统环境”可能也清除了HOME
环境变量。
基本上,QDir::homePath()
几乎未选中QFile::decodeName(QByteArray(::getenv("HOME")))
。如果没有HOME
变量,那就是一个空字符串。