PySide6.QtQml.QQmlFileSelector¶
- class QQmlFileSelector¶
一个用于将QFileSelector应用于QML文件加载的类。更多…
概要¶
方法¶
def
__init__()
def
selector()
def
setSelector()
静态函数¶
def
get()
注意
本文档可能包含从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:
engine –
QQmlEngine
parent –
QObject
创建一个新的
QQmlFileSelector
,其父对象为parent
,该对象包含其自己的QFileSelector。engine
是你希望应用文件选择器的QQmlEngine
。它还将拥有QQmlFileSelector
的所有权。- static get(engine)¶
- Parameters:
引擎 –
QQmlEngine
- Return type:
注意
此函数已弃用。
文件选择器在设置后不应被访问。它可能正在使用中。详情请参见下文。
获取当前在目标
engine
上活动的QQmlFileSelector
。此方法已弃用。设置后,您不应从引擎中检索文件选择器。它可能正在使用中。
如果这里传递的
engine
是一个尚未加载任何QML文件的QQmlApplicationEngine
,它将被初始化。之后对setExtraFileSelectors()
的任何调用都将无效。- selector()¶
- Return type:
返回由
QQmlFileSelector
使用的QFileSelector实例。另请参阅
- setExtraSelectors(strings)¶
- Parameters:
strings – 字符串列表
将包含在
strings
中的额外选择器添加到当前使用的QFileSelector中。当您只需要额外的选择器时,使用此方法可以避免创建自己的QFileSelector实例。- setSelector(selector)¶
- Parameters:
选择器 –
QFileSelector
设置用于
QQmlFileSelector
的QFileSelector实例为selector
。QQmlFileSelector
不会拥有新的QFileSelector的所有权。要重置QQmlFileSelector
以使用其内部的QFileSelector实例,请调用setSelector(None
)。另请参阅