Как может QDir :: makeAbsolute () потерпеть неудачу? - PullRequest
0 голосов
/ 11 октября 2018

Документация для QDir::makeAbsolute() говорит

Преобразует путь к каталогу в абсолютный путь.Если это уже абсолютно ничего не происходит.Возвращает true, если преобразование прошло успешно;в противном случае возвращает false.

Мне не ясно, как создание абсолютного пути из относительного пути может потерпеть неудачу.

Конечно, нет никакой гарантии, что каталог действительно будет существовать по этому абсолютному пути, но по большей части API QDir не заботится о том, существует каталог или нет, поэтому я будуУдивлен, если это было то, что он делал здесь.

1 Ответ

0 голосов
/ 13 октября 2018

QDir::makeAbsolute возвращает false (не удается), если по какой-то причине файловый движок возвращает относительный путь при запросе абсолютного:

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