QWaylandCompositorExtensionTemplate Class
template <typename T> class QWaylandCompositorExtensionTemplateQWaylandCompositorExtensionTemplate est une classe utilitaire permettant de créer des sous-classes de QWaylandCompositorExtension. En savoir plus...
| En-tête : | #include <QWaylandCompositorExtensionTemplate> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor) target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor) |
| qmake : | QT += waylandcompositor |
| Hérite de : | QWaylandCompositorExtension |
| Hérité par : | QWaylandIdleInhibitManagerV1, QWaylandIviApplication, QWaylandQtTextInputMethodManager, QWaylandTextInputManager, QWaylandViewporter, QWaylandXdgDecorationManagerV1, et QWaylandXdgOutputManagerV1 |
Membres publics statiques
| T * | findIn(QWaylandObject *container) |
Description détaillée
QWaylandCompositorExtensionTemplate est une classe modèle qui hérite de QWaylandCompositorExtension et facilite la création d'extensions Wayland personnalisées avec Qt.
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.
En règle générale, une nouvelle extension héritera doublement de `QWaylandCompositorExtensionTemplate` et de la classe générée par ` qtwaylandscanner`.
QWaylandCompositorExtensionTemplate doit être paramétrée avec T comme sous-classe :
class MyExtension
: public QWaylandCompositorExtensionTemplate<MyExtension>
, QtWaylandServer::my_extensionDans cet exemple, ` MyExtension ` est une implémentation de l’interface générée ` my_extension`.
Voir également Shell personnalisé.
Documentation des fonctions membres
[static] T *QWaylandCompositorExtensionTemplate::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'appuie sur le fichier 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.