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
- 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 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.
| Constante | Valeur | Description |
|---|---|---|
QQuickView::SizeViewToRootObject | 0 | La vue s'ajuste en fonction de l'élément racine dans le QML. |
QQuickView::SizeRootObjectToView | 1 | La vue redimensionnera automatiquement l'élément racine à la taille de la vue. |
enum QQuickView::Status
Indique l'état de chargement de l'QQuickView.
| Constante | Valeur | Description |
|---|---|---|
QQuickView::Null | 0 | Cette QQuickView n'a pas de source définie. |
QQuickView::Ready | 1 | Cette QQuickView a chargé et créé le composant QML. |
QQuickView::Loading | 2 | Cette instance d'QQuickView est en train de charger des données réseau. |
QQuickView::Error | 3 | Une 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 :
[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.