【问题标题】:How can QDir::makeAbsolute() fail?QDir::makeAbsolute() 怎么会失败?
【发布时间】:2018-10-11 13:40:18
【问题描述】:

QDir::makeAbsolute() 的文档说

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

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

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

【问题讨论】:

    标签: qt path qdir


    【解决方案1】:

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

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

    【讨论】:

    • 这就是我在自己的研究中取得的进展。我仍然很好奇这会如何发生或为什么会发生。
    • @ParkerCoates,那您为什么不在您的问题中提及这一点?这样可以节省我挖掘源代码的时间。
    • 很公平。我只是想在发布问题后检查源代码,但我应该回来编辑它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 2012-08-30
    相关资源
    最近更新 更多