A class for applying a QFileSelector to QML file loading. 更多...
头: | #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) | |
virtual | ~QQmlFileSelector () override |
QFileSelector * | 选择器 () const |
void | setExtraSelectors (const QStringList & strings ) |
void | setSelector (QFileSelector * 选择器 ) |
QQmlFileSelector will automatically apply a QFileSelector to qml file and asset paths.
It is used as follows:
QQmlEngine engine; QQmlFileSelector* selector = new QQmlFileSelector(&engine);
Then you can swap out files like so:
main.qml Component.qml asset.png +unix/Component.qml +mac/asset.png
In this example, main.qml will normally use Component.qml for the Component type. However on a unix platform, the unix selector will be present and the +unix/Component.qml version will be used instead. Note that this acts like swapping out Component.qml with +unix/Component.qml, so when using Component.qml you should not need to alter any paths based on which version was selected.
For example, to pass the "asset.png" file path around you would refer to it just as "asset.png" in all of main.qml, Component.qml, and +linux/Component.qml. It will be replaced with +mac/asset.png on Mac platforms in all cases.
For a list of available selectors, see
QFileSelector
.
Your platform may also provide additional selectors for you to use. As specified by QFileSelector , directories used for selection must start with a '+' character, so you will not accidentally trigger this feature unless you have directories with such names inside your project.
If a new QQmlFileSelector is set on the engine, the old one will be replaced.
[explicit]
QQmlFileSelector::
QQmlFileSelector
(
QQmlEngine
*
engine
,
QObject
*
parent
= nullptr)
Creates a new QQmlFileSelector with parent object parent , which includes its own QFileSelector . engine 是 QQmlEngine you wish to apply file selectors to. It will also take ownership of the QQmlFileSelector.
[override virtual]
QQmlFileSelector::
~QQmlFileSelector
()
销毁 QQmlFileSelector 对象。
返回 QFileSelector instance used by the QQmlFileSelector .
另请参阅 setSelector ().
Adds extra selectors contained in strings to the current QFileSelector being used. Use this when extra selectors are all you need to avoid having to create your own QFileSelector 实例。
设置
QFileSelector
instance for use by the
QQmlFileSelector
to
selector
.
QQmlFileSelector
does not take ownership of the new
QFileSelector
. To reset
QQmlFileSelector
to use its internal
QFileSelector
instance, call setSelector(
nullptr
).
另请参阅 选择器 ().