Класс QQmlFileSelector
Класс для применения QFileSelector к загрузке файлов QML Подробнее...
| Заголовок: | #include <QQmlFileSelector> |
| qmake: | QT += qml |
| С момента: | Qt 5.2 |
| Наследует: | QObject |
Открытые функции
| QQmlFileSelector(QQmlEngine *engine, QObject *parent = Q_NULLPTR) | |
| ~QQmlFileSelector() | |
| void | setExtraSelectors(QStringList &strings) |
| void | setExtraSelectors(const QStringList &strings) |
| void | setSelector(QFileSelector *selector) |
- 31 открытых функций унаследовано от QObject
Статические открытые члены
| QQmlFileSelector * | get(QQmlEngine *engine) |
- 11 статических открытых членов унаследовано от QObject
Дополнительные унаследованные члены
- 1 свойство унаследовано от QObject
- 1 открытый слот унаследован от QObject
- 2 сигнала унаследованы от QObject
- 9 защищённых функций унаследованы от QObject
Подробное описание
Класс для применения QFileSelector к загрузке файлов QML
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. Обратите внимание, что это действует как замена Component.qml на +unix/Component.qml, поэтому при использовании Component.qml вам не нужно изменять пути в зависимости от выбранной версии.
Например, чтобы передать путь к файлу "asset.png", вы будете ссылаться на него как на "asset.png" во всех файлах main.qml, Component.qml и +linux/Component.qml. Он будет заменён на +mac/asset.png на платформах Mac во всех случаях.
Список доступных селекторов см. QFileSelector.
Ваша платформа также может предоставить дополнительные селекторы для использования. Как указано в QFileSelector, каталоги, используемые для выбора, должны начинаться с символа «+», поэтому эта функция не будет случайно вызвана, если в вашем проекте нет каталогов с такими именами.
Если новый QQmlFileSelector устанавливается в движке, старый будет заменён. Используйте QQmlFileSelector::get(), чтобы получить или использовать существующий экземпляр.
Документация по членам функций
QQmlFileSelector::QQmlFileSelector(QQmlEngine *engine, QObject *parent = Q_NULLPTR)
Создаёт новый QQmlFileSelector с родительским объектом parent, который включает собственный QFileSelector. engine — это QQmlEngine, к которому нужно применить селекторы файлов. Он также возьмёт на себя ответственность за QQmlFileSelector.
QQmlFileSelector::~QQmlFileSelector()
Удаляет объект QQmlFileSelector.
[static] QQmlFileSelector *QQmlFileSelector::get(QQmlEngine *engine)
Получает QQmlFileSelector, который в данный момент активен в целевом engine.
void QQmlFileSelector::setExtraSelectors(QStringList &strings)
Добавляет дополнительные селекторы, содержащиеся в strings, к текущему QFileSelector, используемому. Используйте эту функцию, когда дополнительных селекторов достаточно, чтобы избежать создания собственного экземпляра QFileSelector.
void QQmlFileSelector::setExtraSelectors(const QStringList &strings)
Добавляет дополнительные селекторы, содержащиеся в strings, к текущему QFileSelector, используемому. Используйте эту функцию, когда дополнительных селекторов достаточно, чтобы избежать создания собственного экземпляра QFileSelector.
void QQmlFileSelector::setSelector(QFileSelector *selector)
Устанавливает экземпляр QFileSelector для использования QQmlFileSelector в selector. QQmlFileSelector не берёт на себя ответственность за новый QFileSelector. Чтобы сбросить QQmlFileSelector и использовать его внутренний экземпляр QFileSelector, вызовите setSelector(0).
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qqmlfileselector.html