PySide6.QtQml.QQmlFileSelector

class QQmlFileSelector

一个用于将QFileSelector应用于QML文件加载的类。更多

PySide6.QtQml.QQmlFileSelector 的继承图

概要

方法

静态函数

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

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 作为组件类型。然而,在 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,旧的将被替换。

__init__(engine[, parent=None])
Parameters:

创建一个新的QQmlFileSelector,其父对象为parent,该对象包含其自己的QFileSelector。engine是你希望应用文件选择器的QQmlEngine。它还将拥有QQmlFileSelector的所有权。

static get(engine)
Parameters:

引擎QQmlEngine

Return type:

QQmlFileSelector

注意

此函数已弃用。

文件选择器在设置后不应被访问。它可能正在使用中。详情请参见下文。

获取当前在目标engine上活动的QQmlFileSelector

此方法已弃用。设置后,您不应从引擎中检索文件选择器。它可能正在使用中。

如果这里传递的engine是一个尚未加载任何QML文件的QQmlApplicationEngine,它将被初始化。之后对setExtraFileSelectors()的任何调用都将无效。

另请参阅

QQmlApplicationEngine

selector()
Return type:

QFileSelector

返回由QQmlFileSelector使用的QFileSelector实例。

另请参阅

setSelector()

setExtraSelectors(strings)
Parameters:

strings – 字符串列表

将包含在strings中的额外选择器添加到当前使用的QFileSelector中。当您只需要额外的选择器时,使用此方法可以避免创建自己的QFileSelector实例。

setSelector(selector)
Parameters:

选择器QFileSelector

设置用于QQmlFileSelector的QFileSelector实例为selectorQQmlFileSelector不会拥有新的QFileSelector的所有权。要重置QQmlFileSelector以使用其内部的QFileSelector实例,请调用setSelector(None)。

另请参阅

selector()