Класс QQmlFileSelector
Класс для применения QFileSelector к загрузке файлов QML. Подробнее...
| Заголовок: | #include <QQmlFileSelector> |
| CMake: | find_package(Qt6 COMPONENTS Qml REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Qml) |
| qmake: | QT += qml |
| С: | Qt 5.2 |
| Наследуется от: | QObject |
Открытые функции
| QQmlFileSelector(QQmlEngine *engine, QObject *parent = nullptr) | |
| virtual | ~QQmlFileSelector() override |
| QFileSelector * | selector() const |
| void | setExtraSelectors(const QStringList &strings) |
| void | setSelector(QFileSelector *selector) |
Подробное описание
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 он будет заменён на +mac/asset.png во всех случаях.
Список доступных селекторов см. в QFileSelector.
Ваша платформа может также предоставить дополнительные селекторы для использования. Как указано в QFileSelector, каталоги, используемые для выбора, должны начинаться с символа «+», поэтому вы не случайно не активируете эту функцию, если у вас нет каталогов с такими именами в проекте.
Если новый QQmlFileSelector устанавливается в движке, старый будет заменён.
Документация по членам-функциям
QQmlFileSelector::QQmlFileSelector(QQmlEngine *engine, QObject *parent = nullptr)
Создаёт новый QQmlFileSelector с родительским объектом parent, который включает собственный QFileSelector. engine — это QQmlEngine, к которому вы хотите применить селекторы файлов. Он также возьмёт на себя владение QQmlFileSelector.
[override virtual] QQmlFileSelector::~QQmlFileSelector()
Удаляет объект QQmlFileSelector.
[since 5.7] QFileSelector *QQmlFileSelector::selector() const
Возвращает экземпляр QFileSelector, используемый QQmlFileSelector.
Эта функция была добавлена в Qt 5.7.
См. также setSelector().
void QQmlFileSelector::setExtraSelectors(const QStringList &strings)
Добавляет дополнительные селекторы, содержащиеся в strings, к текущему QFileSelector, используемому в настоящее время. Используйте это, когда дополнительных селекторов достаточно, чтобы избежать создания собственного экземпляра QFileSelector.
void QQmlFileSelector::setSelector(QFileSelector *selector)
Устанавливает экземпляр QFileSelector для использования QQmlFileSelector в selector. QQmlFileSelector не принимает владение новым QFileSelector. Чтобы сбросить QQmlFileSelector, чтобы использовать его внутренний экземпляр QFileSelector, вызовите setSelector(nullptr).
См. также selector().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qqmlfileselector.html