Sur cette page

QWaylandShellSurfaceTemplate Class

template <typename T> class QWaylandShellSurfaceTemplate

QWaylandShellSurfaceTemplate est une classe utilitaire permettant de créer des classes de surface de shell personnalisées. En savoir plus...

En-tête : #include <QWaylandShellSurfaceTemplate>
CMake : find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)
qmake : QT += waylandcompositor
Hérite de : QWaylandShellSurface
Hérité par :

QWaylandIviSurface, QWaylandWlShellSurface et QWaylandXdgSurface

Membres publics statiques

T *findIn(QWaylandObject *container)

Description détaillée

QWaylandShellSurfaceTemplate est une classe modèle qui hérite de QWaylandShellSurface et facilite la création d’extensions de shell personnalisées.

Elle assure la liaison entre Qt Wayland Compositor et la classe générée par qtwaylandscanner, sur la base de la description XML du protocole d’extension.

Elle offre deux fonctionnalités pratiques spécifiques :

  • Une réimplémentation de la méthode ` QWaylandCompositorExtension::extensionInterface()` qui renvoie le pointeur ` wl_interface ` vers la classe de base générée par `qtwaylandscanner`.
  • Une fonction statique ` findIn()` qui recherche une instance de l’extension dans un conteneur fourni et la renvoie si elle est trouvée.

Le modèle d’utilisation est le même que pour ` QWaylandCompositorExtensionTemplate`, ` T ` correspondant à la sous-classe elle-même.

Voir aussi Shell personnalisé.

Documentation sur les fonctions membres

[static] T *QWaylandShellSurfaceTemplate::findIn(QWaylandObject *container)

Si une instance de l'interface a été enregistrée auprès de container, celle-ci est renvoyée. Sinon, la valeur null est renvoyée. La recherche s'effectue à partir de l'interfaceName() généré, qui correspond au nom de l'interface figurant dans la description du protocole.

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