Sur cette page

QQuickView Class

La classe QQuickView fournit une fenêtre permettant d'afficher une interface utilisateur de type « Qt Quick ». En savoir plus...

En-tête : #include <QQuickView>
CMake : find_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmake : QT += quick
Hérite de : QQuickWindow

Types publics

enum ResizeMode { SizeViewToRootObject, SizeRootObjectToView }
enum Status { Null, Ready, Loading, Error }

Propriétés

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 pratique de ` QQuickWindow ` qui charge et affiche automatiquement une scène QML lorsqu'on lui fournit 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 via ` QQuickWindow`.

Utilisation type :

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 redimensionnement de la vue et de l’objet racine. Par défaut, l’ resizeMode est SizeViewToRootObject, ce qui charge le composant et le redimensionne à la taille de la vue. Il est également possible de définir l’ resizeMode sur SizeRootObjectToView, ce qui redimensionnera la vue à la taille de l’objet racine.

Voir également «Exposition des attributs des types C++ vers QML » et « QQuickWidget ».

Documentation sur les types de membres

enum QQuickView::ResizeMode

Cette énumération définit la manière de redimensionner la vue.

ConstanteValeurDescription
QQuickView::SizeViewToRootObject0La vue s'ajuste en fonction de l'élément racine dans le QML.
QQuickView::SizeRootObjectToView1La vue redimensionnera automatiquement l'élément racine à la taille de la vue.

enum QQuickView::Status

Indique l'état de chargement de l'QQuickView.

ConstanteValeurDescription
QQuickView::Null0Cette QQuickView n'a pas de source définie.
QQuickView::Ready1Cette QQuickView a chargé et créé le composant QML.
QQuickView::Loading2Cette instance d'QQuickView est en train de charger des données réseau.
QQuickView::Error3Une ou plusieurs erreurs se sont produites. Appelez la méthode ` errors()` pour récupérer la liste des erreurs.

Documentation des propriétés

resizeMode : ResizeMode

Cette propriété détermine 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 s'adapte à la taille de l'élément racine dans le QML.

Si cette propriété est définie sur « SizeRootObjectToView », la vue redimensionnera automatiquement l’élément racine pour l’adapter à 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.

Assurez-vous que l'URL fournie est 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 reste inchangée par rapport à la valeur actuelle.

Fonctions d’accès :

QUrl source() const
void setSource(const QUrl &url)

[read-only] status : Status

status s actuelles du composant.

Fonctions d'accès :

QQuickView::Status status() const

Signal de notification :

void statusChanged(QQuickView::Status status)

Documentation des fonctions membres

[explicit] QQuickView::QQuickView(QWindow *parent = nullptr)

Crée un objet `QQuickView` avec l'parent` spécifié. La valeur par défaut de ` parent ` est 0.

QQuickView::QQuickView(QQmlEngine *engine, QWindow *parent)

Crée un QQuickView à partir de l'engine et de l'parent fournis au format QML.

Remarque : dans ce cas, le QQuickView ne détient pas la propriété de l’objet « engine » fourni ; il incombe à l’appelant de détruire le moteur. Si l’objet « engine » est supprimé avant la vue, la fonction « status() » renverra « QQuickView::Error ».

Voir également Status, status() et errors().

[explicit] QQuickView::QQuickView(const QUrl &source, QWindow *parent = nullptr)

Crée un objet QQuickView à partir des éléments QML fournis : ` 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)

Crée un objet `QQuickView` avec l'élément spécifié par ` uri ` et ` typeName `, et dont le parent est ` parent`. La valeur par défaut de ` parent ` est ` nullptr`.

Cette fonction a été introduite dans Qt 6.7.

Voir également loadFromModule.

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

Supprime l'QQuickView.

QQmlEngine *QQuickView::engine() const

Renvoie un pointeur vers l'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. Lorsque 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 la valeur de ` resizeMode ` est `QQuickItem::SizeRootObjectToView`, l'objet racine sera redimensionné pour s'adapter à la taille de la vue. `initialSize` contient la taille de l'objet racine avant son redimensionnement.

[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 associé à un fichier QML, source sera défini en conséquence. Pour les types définis dans C++, source sera vide.

Si une valeur source avait été définie avant l'appel de cette méthode, elle sera effacée.

L'appel répété de cette méthode avec les mêmes paramètres uri et typeName entraînera la réinstanciation du composant QML.

Cette fonction a été introduite dans Qt 6.7.

Voir également ` 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 de contextes. Chaque composant QML est instancié dans un ` QQmlContext`. Les ` QQmlContext` sont indispensables 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 l'` QQmlEngine`.

QQuickItem *QQuickView::rootObject() const

Renvoie l'item racine de la vue.

[slot] void QQuickView::setInitialProperties(const QVariantMap &initialProperties)

Définit les propriétés initiales initialProperties avec lesquelles le composant QML est initialisé après l'appel de la fonction QQuickView::setSource().

    QScopedPointer<QQuickView> view { new QQuickView };
    view->setInitialProperties({"x, 100"}, {"width", 50});
    view->setSource(QUrl::fromLocalFile("myqmlfile.qml"));
    view->show();

Remarque : vous ne pouvez utiliser cette fonction que pour initialiser des propriétés de niveau supérieur.

Remarque : cette fonction doit toujours être appelée avant setSource, car elle n'a plus aucun effet une fois que le composant est devenu Ready.

Voir également QQmlComponent::createWithInitialProperties().

[slot] void QQuickView::setSource(const QUrl &url)

Définit la source sur url, charge le composant QML et l'instancie.

Assurez-vous que l'URL fournie est complète et correcte ; en particulier, utilisez QUrl::fromLocalFile() lorsque vous chargez un fichier à partir du système de fichiers local.

Appeler cette méthode plusieurs fois avec la même URL entraînera la réinstanciation du composant QML.

Remarque : fonctionde définition pour la propriété source.

Voir également source().

QUrl QQuickView::source() const

Renvoie l'URL source, si elle est définie.

Remarque : fonctiongetter pour la propriété source.

Voir également setSource().

[signal] void QQuickView::statusChanged(QQuickView::Status status)

Ce signal est émis lorsque l'status actuelle du composant change.

Remarque : signalde notification pour l'status de la propriété.

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