首页 > 解决方案 > QDir::makeAbsolute() 怎么会失败?

问题描述

文档QDir::makeAbsolute()

将目录路径转换为绝对路径。如果它已经是绝对的,则不会发生任何事情。true如果转换成功则返回;否则返回false

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

当然,不能保证一个目录实际上会存在于该绝对路径中,但在大多数情况下,QDirAPI 并不关心目录是否存在,所以如果它在这里所做的事情我会感到惊讶.

标签: qtpathqdir

解决方案


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

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

推荐阅读