QQmlFileSelector Class
A class for applying a QFileSelector to QML file loading More...
Header: | #include <QQmlFileSelector> |
qmake: | QT += qml |
Since: | Qt 5.2 |
Inherits: | QObject. |
Public Functions
QQmlFileSelector(QQmlEngine * engine, QObject * parent = 0) | |
~QQmlFileSelector() | |
void | setExtraSelectors(QStringList & strings) |
void | setExtraSelectors(const QStringList & strings) |
void | setSelector(QFileSelector * selector) |
- 31 public functions inherited from QObject
Static Public Members
QQmlFileSelector * | get(QQmlEngine * engine) |
- 11 static public members inherited from QObject
Additional Inherited Members
- 1 property inherited from QObject
- 1 public slot inherited from QObject
- 2 signals inherited from QObject
- 9 protected functions inherited from QObject
Detailed Description
A class for applying a QFileSelector to QML file loading
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. Use QQmlFileSelector::get() to query or use the existing instance.
Member Function Documentation
QQmlFileSelector::QQmlFileSelector(QQmlEngine * engine, QObject * parent = 0)
Creates a new QQmlFileSelector, which includes its own QFileSelector. engine is the QQmlEngine you wish to apply file selectors too. It will also take ownership of the QQmlFileSelector.
QQmlFileSelector::~QQmlFileSelector()
[static]
QQmlFileSelector * QQmlFileSelector::get(QQmlEngine * engine)
Gets the QQmlFileSelector currently active on the target engine.
void QQmlFileSelector::setExtraSelectors(QStringList & strings)
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 instance.
void QQmlFileSelector::setExtraSelectors(const QStringList & strings)
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 instance.
void QQmlFileSelector::setSelector(QFileSelector * selector)
Sets a different QFileSelector instance for use by the QQmlFileSelector. QQmlFileSelector does not take ownership of the new QFileSelector. To reset QQmlFileSelector to use its internal QFileSelector instance, call setSelector(0).
© 2015 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.