Sur cette page

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

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.

ConstanteValeurDescription
QQuickView::SizeViewToRootObject0La vue est redimensionnée en fonction de l'élément racine dans le QML.
QQuickView::SizeRootObjectToView1La 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.

ConstanteValeurDescription de l'état de chargement
QQuickView::Null0Ce site QQuickView n'a pas d'ensemble de sources.
QQuickView::Ready1Ce site QQuickView a chargé et créé le composant QML.
QQuickView::Loading2Ce site QQuickView est en train de charger des données de réseau.
QQuickView::Error3Une 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 :

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

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