FileInProjectFinder 类

class Utils::FileInProjectFinder

The FileInProjectFinder class is a helper class to find the original file in the project directory for a given file URL. More...

头文件 #include <FileInProjectFinder>

公共函数

Utils::FilePathsfindFile(const QUrl &fileUrl, bool *success = nullptr) const

详细描述

在构建和部署过程中,文件通常会进行复制。 findFile() 会搜索项目目录中给定文件路径的现有文件。

例如,以下文件路径都应该映射到 $PROJECTDIR/qml/app/main.qml

  • C:/app-build-desktop/qml/app/main.qml (阴影构建目录)
  • /Users/x/app-build-desktop/App.app/Contents/Resources/qml/App/main.qml (Mac OS X 的文件夹)

成员函数文档

Utils::FilePaths FileInProjectFinder::findFile(const QUrl &fileUrl, bool *success = nullptr) const

返回项目目录中文件 URL fileUrl 的最佳匹配项。

该函数首先检查项目目录中是否存在文件。如果不存在,则从路径中移除开头的目录,并检查现在更短的路径是否存在,依此类推。其次,它尝试在指定的 sysroot 文件夹中定位文件。第三,它遍历项目文件列表,并在其中搜索文件名匹配。

如果所有尝试都失败,则该函数返回文件 URL 的原始路径。要表示在项目中未找到匹配项,将 success 设置为 false。

©2024 Qt 公司限公司。本文件中的文档贡献归各自的拥有者所有。本文件提供的文档是在 Free Software Foundation 发布的 GNU 自由文档许可证版本 1.3 条件下授权的。Qt 以及相应的徽标是芬兰 Qt 公司等世界各地的商标。所有其他商标均为各自所有者的财产。