QWaylandShellSurfaceTemplate Class

template <typename T> class QWaylandShellSurfaceTemplate

QWaylandShellSurfaceTemplate ist eine Komfortklasse zum Erstellen eigener Shell-Oberflächenklassen. Mehr...

Kopfzeile: #include <QWaylandShellSurfaceTemplate>
CMake: find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)
qmake: QT += waylandcompositor
Vererbt: QWaylandShellSurface
Vererbt von:

QWaylandIviSurface, QWaylandWlShellSurface, und QWaylandXdgSurface

Statische öffentliche Mitglieder

T *findIn(QWaylandObject *container)

Detaillierte Beschreibung

QWaylandShellSurfaceTemplate ist eine Vorlagenklasse, die von QWaylandShellSurface erbt und für die Erstellung von benutzerdefinierten Shell-Erweiterungen nützlich ist.

Sie stellt die Verbindung zwischen Qt Wayland Compositor und der von qtwaylandscanner generierten Klasse her, basierend auf der XML-Beschreibung des Erweiterungsprotokolls.

Sie bietet zwei besondere Annehmlichkeiten:

  • Eine Reimplementierung von QWaylandCompositorExtension::extensionInterface(), die den Zeiger wl_interface für die von qtwaylandscanner erzeugte Basisklasse zurückgibt.
  • Eine statische findIn() Funktion, die nach einer Instanz der Erweiterung in einem bereitgestellten Container sucht und diese zurückgibt, wenn sie gefunden wird.

Es gilt das gleiche Verwendungsmuster wie für QWaylandCompositorExtensionTemplate.

Siehe auch Custom Shell.

Dokumentation der Mitgliedsfunktionen

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

Wenn eine Instanz der Schnittstelle bei container registriert wurde, wird diese zurückgegeben. Andernfalls wird null zurückgegeben. Die Suche basiert auf der generierten interfaceName(), die mit dem Schnittstellennamen in der Protokollbeschreibung übereinstimmt.

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