Sur cette page

QQmlFileSelector Class

Classe permettant d'appliquer une « QFileSelector » au chargement des fichiers QML. En savoir plus...

En-tête : #include <QQmlFileSelector>
CMake : find_package(Qt6 REQUIRED COMPONENTS Qml)
target_link_libraries(mytarget PRIVATE Qt6::Qml)
qmake : QT += qml
Hérite de : QObject

Fonctions publiques

QQmlFileSelector(QQmlEngine *engine, QObject *parent = nullptr)
virtual ~QQmlFileSelector() override
QFileSelector *selector() const
void setExtraSelectors(const QStringList &strings)
void setSelector(QFileSelector *selector)

Description détaillée

QQmlFileSelector applique automatiquement un filtrage de type « QFileSelector » aux chemins d'accès aux fichiers QML et aux ressources.

Son utilisation est la suivante :

QQmlEngine engine;
QQmlFileSelector* selector = new QQmlFileSelector(&engine);

Vous pouvez ensuite remplacer des fichiers comme suit :

main.qml
Component.qml
asset.png
+unix/Component.qml
+mac/asset.png

Dans cet exemple, main.qml utilisera normalement Component.qml pour le type Component. Cependant, sur une plateforme Unix, le sélecteur unix sera présent et la version +unix/Component.qml sera utilisée à la place. Notez que cela revient à remplacer Component.qml par +unix/Component.qml ; ainsi, lorsque vous utilisez Component.qml, vous ne devriez pas avoir besoin de modifier les chemins d’accès en fonction de la version sélectionnée.

Par exemple, pour transmettre le chemin d’accès au fichier « asset.png », il suffit de le référencer simplement sous le nom « asset.png » dans main.qml, Component.qml et +linux/Component.qml. Il sera remplacé par +mac/asset.png sur les plateformes Mac dans tous les cas.

Pour obtenir la liste des sélecteurs disponibles, consultez QFileSelector.

Votre plateforme peut également mettre à votre disposition des sélecteurs supplémentaires. Comme indiqué sur QFileSelector, les répertoires utilisés pour la sélection doivent commencer par le caractère « + » ; vous ne déclencherez donc pas cette fonctionnalité par inadvertance, sauf si votre projet contient des répertoires portant de tels noms.

Si un nouveau QQmlFileSelector est défini sur le moteur, l’ancien sera remplacé.

Documentation des fonctions membres

[explicit] QQmlFileSelector::QQmlFileSelector(QQmlEngine *engine, QObject *parent = nullptr)

Crée un nouvel objet `QQmlFileSelector` dont l'objet parent est ` parent`, qui inclut son propre ` QFileSelector`. ` engine ` est l'QQmlEngine auquel vous souhaitez appliquer les sélecteurs de fichiers. Il prendra également la propriété du `QQmlFileSelector`.

[override virtual noexcept] QQmlFileSelector::~QQmlFileSelector()

Supprime l'objet « QQmlFileSelector ».

[noexcept] QFileSelector *QQmlFileSelector::selector() const

Renvoie l'instance ` QFileSelector ` utilisée par la méthode ` QQmlFileSelector`.

Voir aussi setSelector().

void QQmlFileSelector::setExtraSelectors(const QStringList &strings)

Ajoute les sélecteurs supplémentaires contenus dans strings à l'QFileSelector e actuellement utilisée. Utilisez cette méthode lorsque vous n'avez besoin que de ces sélecteurs supplémentaires, afin d'éviter d'avoir à créer votre propre instance QFileSelector.

void QQmlFileSelector::setSelector(QFileSelector *selector)

Définit l'instance QFileSelector que doit utiliser la classe QQmlFileSelector sur selector. La classe QQmlFileSelector ne prend pas possession de la nouvelle instance QFileSelector. Pour réinitialiser la classe QQmlFileSelector afin qu'elle utilise son instance interne QFileSelector, appelez la méthode setSelector(nullptr).

Voir également selector().

© 2026 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.