Sortie multiple
Multi Output est un exemple qui montre un compositeur avec plusieurs sorties.
Introduction
L'exemple Multi Output montre comment afficher les mêmes clients sur différentes pages WaylandOutputs avec différents types de composition. L'une des sorties affiche les clients dans une grille uniforme, à la même échelle. L'autre sortie est une fenêtre de composition interactive normale de type bureau.

Pour une introduction aux principes de base de la création d'une fenêtre de composition avec Qt, voir l'article "Minimal compositor". Qt Wayland Compositor avec Qt, voir l'exemple Qtml minimal.
Sorties multiples
L'exemple crée deux fenêtres différentes, une pour chaque sortie. Pour la vue en grille, nous nous connectons au signal surfaceRequested. Ce signal est émis pour chaque surface créée par le client. Cela permet à l'application d'ignorer la réponse par défaut à la demande et de créer une WaylandSurface personnalisée.
onSurfaceRequested: (client, id, version) => { var surface = surfaceComponent.createObject(comp, { } ); surface.initialize(comp, client, id, version); }
À la réception du signal, l'exemple crée un WaylandQuickItem en tant que vue de la surface. Cette vue peut être ajoutée à la scène Qt Quick comme n'importe quel autre élément. Dans l'exemple, nous l'ajoutons à un GridView.
Pour la fenêtre de type bureau, nous utilisons les fonctionnalités de l'extension XdgShell. Lorsque la surface a été créée, XdgShell émet un signal toplevelCreated.
XdgShell { onToplevelCreated: (toplevel, xdgSurface) => { var item = chromeComponent.createObject(defaultOutput.surfaceArea, { "shellSurface": xdgSurface } ); item.surface.activated.connect(item.raise); } }
Nous créons un ShellSurfaceItem pour ajouter le XdgToplevel à la deuxième sortie. Cela permet une interaction de type bureau avec la surface.
Lorsque ces étapes sont terminées, le contenu du client est visible dans les deux fenêtres. Les tampons contenant le contenu du client sont les mêmes pour les deux sorties, mais ils sont visualisés de deux manières différentes et permettent à l'utilisateur d'interagir avec eux de différentes manières.
Note : Afin de prendre en charge plusieurs sorties Wayland dans le même compositeur, l'attribut Qt::AA_ShareOpenGLContexts doit être défini avant que l'objet QGuiApplication ne soit construit.
Voir aussi Multi Screen et Overview Compositor.
© 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.