QDir :: makeAbsolute()如何失败?

时间:2018-10-11 13:40:18

标签: qt path qdir

QDir::makeAbsolute()的文档中说

  

将目录路径转换为绝对路径。如果已经是绝对的,则什么也不会发生。如果转换成功,则返回true;否则返回false

我不清楚从相对路径创建绝对路径如何会失败。

当然不能保证在该绝对路径中确实存在目录,但是在大多数情况下,QDir API并不关心目录是否存在,因此我会感到惊讶如果那是它在这里所做的。

1 个答案:

答案 0 :(得分:2)

QDir::makeAbsolute返回false(失败),如果由于某种原因文件引擎在请求绝对路径时返回了相对路径:

QString absolutePath = d->fileEngine->fileName(QAbstractFileEngine::AbsoluteName);
if (QDir::isRelativePath(absolutePath))
    return false;