QQuickView Class
La classe QQuickView fournit une fenêtre permettant d'afficher une interface utilisateur Qt Quick. Plus d'informations...
| En-tête : | #include <QQuickView> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Quick)target_link_libraries(mytarget PRIVATE Qt6::Quick) |
| qmake : | QT += quick |
| Héritages : | QQuickWindow |
Types publics
| enum | ResizeMode { SizeViewToRootObject, SizeRootObjectToView } |
| enum | Status { Null, Ready, Loading, Error } |
Propriétés
- resizeMode : ResizeMode
- source : QUrl
- status : Status
Fonctions publiques
| QQuickView(QWindow *parent = nullptr) | |
| QQuickView(QQmlEngine *engine, QWindow *parent) | |
| QQuickView(const QUrl &source, QWindow *parent = nullptr) | |
(since 6.7) | QQuickView(QAnyStringView uri, QAnyStringView typeName, QWindow *parent = nullptr) |
| virtual | ~QQuickView() override |
| QQmlEngine * | engine() const |
| QList<QQmlError> | errors() const |
| QSize | initialSize() const |
| QQuickView::ResizeMode | resizeMode() const |
| QQmlContext * | rootContext() const |
| QQuickItem * | rootObject() const |
| void | setResizeMode(QQuickView::ResizeMode) |
| QUrl | source() const |
| QQuickView::Status | status() const |
Emplacements publics
(since 6.7) void | loadFromModule(QAnyStringView uri, QAnyStringView typeName) |
| void | setInitialProperties(const QVariantMap &initialProperties) |
| void | setSource(const QUrl &url) |
Signaux
| void | statusChanged(QQuickView::Status status) |
Fonctions protégées réimplémentées
| virtual void | keyPressEvent(QKeyEvent *e) override |
| virtual void | keyReleaseEvent(QKeyEvent *e) override |
| virtual void | mouseMoveEvent(QMouseEvent *e) override |
| virtual void | mousePressEvent(QMouseEvent *e) override |
| virtual void | mouseReleaseEvent(QMouseEvent *e) override |
Description détaillée
Il s'agit d'une sous-classe de commodité de QQuickWindow qui chargera et affichera automatiquement une scène QML lorsqu'on lui donnera l'URL du fichier source principal. Vous pouvez également instancier vos propres objets à l'aide de QQmlComponent et les placer dans une scène configurée manuellement QQuickWindow.
Utilisation typique :
int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QQuickView *view = new QQuickView; view->setSource(QUrl::fromLocalFile("myqmlfile.qml")); view->show(); return app.exec(); }
Pour recevoir les erreurs liées au chargement et à l'exécution de QML avec QQuickView, vous pouvez vous connecter au signal statusChanged() et surveiller QQuickView::Error. Les erreurs sont disponibles via QQuickView::errors().
QQuickView gère également le dimensionnement de la vue et de l'objet racine. Par défaut, resizeMode est SizeViewToRootObject, ce qui chargera le composant et le redimensionnera à la taille de la vue. Il est également possible d'attribuer à resizeMode la valeur SizeRootObjectToView, ce qui redimensionnera la vue à la taille de l'objet racine.
Voir également Exposer les attributs des types C++ à QML et QQuickWidget.
Documentation sur les types de membres
enum QQuickView::ResizeMode
Cette énumération indique comment redimensionner la vue.
| Constante | Valeur | Description |
|---|---|---|
QQuickView::SizeViewToRootObject | 0 | La vue est redimensionnée en fonction de l'élément racine dans le QML. |
QQuickView::SizeRootObjectToView | 1 | La vue redimensionne automatiquement l'élément racine en fonction de la taille de la vue. |
enum QQuickView::Status
Spécifie l'état de chargement du site QQuickView.
| Constante | Valeur | Description de l'état de chargement |
|---|---|---|
QQuickView::Null | 0 | Ce site QQuickView n'a pas d'ensemble de sources. |
QQuickView::Ready | 1 | Ce site QQuickView a chargé et créé le composant QML. |
QQuickView::Loading | 2 | Ce site QQuickView est en train de charger des données de réseau. |
QQuickView::Error | 3 | Une ou plusieurs erreurs se sont produites. Appelez errors() pour obtenir une liste des erreurs. |
Documentation sur les propriétés
resizeMode : ResizeMode
Cette propriété indique si la vue doit redimensionner le contenu de la fenêtre
Si cette propriété est définie sur SizeViewToRootObject (valeur par défaut), la vue se redimensionne à la taille de l'élément racine dans le QML.
Si cette propriété vaut SizeRootObjectToView, la vue redimensionne automatiquement l'élément racine à la taille de la vue.
Fonctions d'accès :
| QQuickView::ResizeMode | resizeMode() const |
| void | setResizeMode(QQuickView::ResizeMode) |
Voir également initialSize().
source : QUrl
Cette propriété contient l'URL de la source du composant QML.
Veillez à ce que l'URL fournie soit complète et correcte, en particulier, utilisez QUrl::fromLocalFile() lorsque vous chargez un fichier à partir du système de fichiers local.
Notez que la définition d'une URL source entraînera l'instanciation du composant QML, même si l'URL est inchangée par rapport à la valeur actuelle.
Fonctions d'accès :
[read-only] status : Status
L'adresse actuelle du composant status.
Fonctions d'accès :
| QQuickView::Status | status() const |
Signal du notificateur :
| void | statusChanged(QQuickView::Status status) |
Fonction membre Documentation
[explicit] QQuickView::QQuickView(QWindow *parent = nullptr)
Construit un QQuickView avec la valeur donnée parent. La valeur par défaut de parent est 0.
QQuickView::QQuickView(QQmlEngine *engine, QWindow *parent)
Construit un QQuickView avec les objets QML engine et parent.
Remarque : dans ce cas, le QQuickView ne possède pas l'objet engine donné ; il incombe à l'appelant de détruire le moteur. Si l'objet engine est supprimé avant la vue, status() renverra QQuickView::Error.
Voir également Status, status() et errors().
[explicit] QQuickView::QQuickView(const QUrl &source, QWindow *parent = nullptr)
Construit un QQuickView avec les QML donnés source et parent. La valeur par défaut de parent est nullptr.
[explicit, since 6.7] QQuickView::QQuickView(QAnyStringView uri, QAnyStringView typeName, QWindow *parent = nullptr)
Construit un QQuickView avec l'élément spécifié par uri et typeName et le parent parent. La valeur par défaut de parent est nullptr.
Cette fonction a été introduite dans Qt 6.7.
Voir aussi loadFromModule.
[override virtual noexcept] QQuickView::~QQuickView()
Détruit le site QQuickView.
QQmlEngine *QQuickView::engine() const
Renvoie un pointeur sur le site QQmlEngine utilisé pour l'instanciation des composants QML.
QList<QQmlError> QQuickView::errors() const
Renvoie la liste des erreurs survenues lors de la dernière opération de compilation ou de création. Si le statut n'est pas Error, une liste vide est renvoyée.
QSize QQuickView::initialSize() const
Renvoie la taille initiale de l'objet racine.
Si resizeMode est QQuickItem::SizeRootObjectToView, l'objet racine sera redimensionné à la taille de la vue. initialSize contient la taille de l'objet racine avant qu'il ne soit redimensionné.
[override virtual protected] void QQuickView::keyPressEvent(QKeyEvent *e)
Réimplémente : QQuickWindow::keyPressEvent(QKeyEvent *e).
[override virtual protected] void QQuickView::keyReleaseEvent(QKeyEvent *e)
Réimplémente : QQuickWindow::keyReleaseEvent(QKeyEvent *e).
[slot, since 6.7] void QQuickView::loadFromModule(QAnyStringView uri, QAnyStringView typeName)
Charge le composant QML identifié par uri et typeName. Si le composant est soutenu par un fichier QML, source sera défini en conséquence. Pour les types définis dans C++, source sera vide.
Si source a été défini avant l'appel de cette méthode, il sera effacé.
Si vous appelez cette méthode plusieurs fois avec les mêmes uri et typeName, le composant QML sera réinstancié.
Cette fonction a été introduite dans Qt 6.7.
Voir aussi setSource, QQmlComponent::loadFromModule, et QQmlApplicationEngine::loadFromModule.
[override virtual protected] void QQuickView::mouseMoveEvent(QMouseEvent *e)
Réimplémente : QQuickWindow::mouseMoveEvent(QMouseEvent *event).
[override virtual protected] void QQuickView::mousePressEvent(QMouseEvent *e)
Réimplémente : QQuickWindow::mousePressEvent(QMouseEvent *event).
[override virtual protected] void QQuickView::mouseReleaseEvent(QMouseEvent *e)
Réimplémente : QQuickWindow::mouseReleaseEvent(QMouseEvent *event).
QQmlContext *QQuickView::rootContext() const
Cette fonction renvoie la racine de la hiérarchie du contexte. Chaque composant QML est instancié dans un contexte QQmlContext. Les contextes QQmlContext sont essentiels pour transmettre des données aux composants QML. En QML, les contextes sont organisés de manière hiérarchique et cette hiérarchie est gérée par QQmlEngine.
QQuickItem *QQuickView::rootObject() const
Renvoie la racine de la vue item.
[slot] void QQuickView::setInitialProperties(const QVariantMap &initialProperties)
Définit les propriétés initiales initialProperties avec lesquelles le composant QML est initialisé après avoir appelé QQuickView::setSource().
QScopedPointer<QQuickView> view { new QQuickView }; view->setInitialProperties({"x, 100"}, {"width", 50}); view->setSource(QUrl::fromLocalFile("myqmlfile.qml")); view->show();
Note : Vous ne pouvez utiliser cette fonction que pour initialiser les propriétés de premier niveau.
Remarque : Cette fonction doit toujours être appelée avant setSource, car elle n'a aucun effet une fois que le composant est devenu Ready.
Voir aussi QQmlComponent::createWithInitialProperties().
[slot] void QQuickView::setSource(const QUrl &url)
Définit la source à url, charge le composant QML et l'instancie.
Assurez-vous que l'URL fournie est complète et correcte ; en particulier, utilisez QUrl::fromLocalFile() pour charger un fichier à partir du système de fichiers local.
Si vous appelez cette méthode plusieurs fois avec la même URL, le composant QML sera réinstancié.
Note : Fonction de définition de la propriété source.
Voir également source().
QUrl QQuickView::source() const
Renvoie l'URL de la source, si elle est définie.
Note : Fonction Getter pour la propriété source.
Voir également setSource().
[signal] void QQuickView::statusChanged(QQuickView::Status status)
Ce signal est émis lorsque l'adresse status du composant est modifiée.
Note : Signal de notification pour la propriété status.
© 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.