QQmlFileSelector 类
一个用于将 QFileSelector 应用到 QML 文件加载的类。 更多...
头文件 | #include <QQmlFileSelector> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Qml) target_link_libraries(mytarget PRIVATE Qt6::Qml) |
qmake | QT += qml |
继承 | QObject |
公共函数
QQmlFileSelector(QQmlEngine *engine, QObject *parent = nullptr) | |
虚拟 | ~QQmlFileSelector() override |
QFileSelector * | selector() const |
void | setExtraSelectors(const QStringList &strings) |
void | setSelector(QFileSelector *selector) |
详细说明
QQmlFileSelector 将自动将 QFileSelector 应用到 qml 文件和资源路径。
它使用如下
QQmlEngine engine; QQmlFileSelector* selector = new QQmlFileSelector(&engine);
然后你可以这样交换文件
main.qml Component.qml asset.png +unix/Component.qml +mac/asset.png
在这个例子中,main.qml 通常使用 Component.qml 作为 Component 类型。但是在 Unix 平台上,存在 unix 选择器,将使用 +unix/Component.qml 版本。请注意,这类似于用 +unix/Component.qml 交换 Component.qml,因此在使用 Component.qml 时,您不需要根据所选版本更改任何路径。
例如,要传递 "asset.png" 文件路径,您只需在 main.qml、Component.qml 和 +linux/Component.qml 中将其称为 "asset.png"。在所有情况下,它将在 Mac 平台上替换为 +mac/asset.png。
有关可用选择器的列表,请参阅 QFileSelector
。
您的平台也可能为您提供了额外的选择器。根据 QFileSelector 的规定,用于选择的目录必须以 '+' 字符开头,因此除非您的项目中有此类名称的目录,否则您不会意外触发此功能。
如果在引擎上设置了新的 QQmlFileSelector,则旧的一个将被替换。
成员函数说明
[明确]
QQmlFileSelector::QQmlFileSelector(QQmlEngine *engine, QObject *parent = nullptr)
创建一个包含自己的 QFileSelector 的新 QQmlFileSelector,具有父对象 parent。它将对要应用的文件选择器的 QQmlEngine 是 engine。它还将获取 QQmlFileSelector 的所有权。
[覆盖虚拟 noexcept]
QQmlFileSelector::~QQmlFileSelector()
销毁 QQmlFileSelector 对象。
[noexcept]
QFileSelector *QQmlFileSelector::selector() const
返回用于QQmlFileSelector的QFileSelector实例。
另请参阅setSelector。
void QQmlFileSelector::setExtraSelectors(const QStringList &strings)
将strings中包含的额外选择器添加到当前使用的QFileSelector中。当只需要额外的选择器而无需创建自己的QFileSelector实例时,请使用此方法。
void QQmlFileSelector::setSelector(QFileSelector *selector)
将用于QQmlFileSelector实例的QFileSelector设置为selector。 QQmlFileSelector不会接管新的QFileSelector实例。要将QQmlFileSelector重置为使用其内部QFileSelector实例,请调用setSelector(nullptr
)。
另请参阅selector。
© 2024 The Qt Company Ltd。本文档中的文档贡献属于其各自的所有者。提供的文档根据GNU自由文档许可证版本1.3的条款许可,由自由软件基金会发布。Qt及其相关标志是The Qt Company Ltd.在芬兰以及全球其他国家的商标。所有其他商标均为其各自所有者的财产。