Auf dieser Seite

QWaylandSurfaceRole Class

Die Klasse „QWaylandSurfaceRole“ repräsentiert die Rolle der Oberfläche im Kontext von „wl_surface“. Mehr...

Header: #include <QWaylandSurfaceRole>
CMake: find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)
qmake: QT += waylandcompositor

Öffentliche Funktionen

QWaylandSurfaceRole(const QByteArray &name)
const QByteArray name()

Ausführliche Beschreibung

QWaylandSurfaceRole dient zur Darstellung der Rolle einer QWaylandSurface. Gemäß der Protokollspezifikation ist die Rolle einer Oberfläche nach ihrer Festlegung dauerhaft, und wenn dieselbe Oberfläche später für eine andere Rolle wiederverwendet wird, stellt dies einen Protokollfehler dar. Das mehrmalige Festlegen derselben Rolle für die Oberfläche ist kein Fehler.

Beispielsweise kann das „ QWaylandXdgShell “ Oberflächen entweder die Rolle „popup“ oder „toplevel“ zuweisen. Wird für eine Oberfläche, die zuvor eine „ get_popup “-Anforderung erhalten hat, eine „ get_toplevel “-Anforderung gestellt, löst der Compositor einen Protokollfehler aus.

Rollen werden anhand ihres Zeigerwerts verglichen, sodass zwei beliebige Objekte von `QWaylandSurfaceRole` als unterschiedliche Rollen betrachtet werden, unabhängig davon, welche ` names ` sie haben. Eine typische Methode zur Zuweisung einer Rolle besteht darin, ein statisches `QWaylandSurfaceRole`-Objekt zu verwenden, das diese Rolle repräsentiert.

class MyShellSurfaceSubType
{
    static QWaylandSurfaceRole s_role;
    // ...
};

// ...

surface->setRole(&MyShellSurfaceSubType::s_role, resource->handle, MY_ERROR_CODE);

Dokumentation der Mitgliedsfunktionen

QWaylandSurfaceRole::QWaylandSurfaceRole(const QByteArray &name)

Erstellt eine `QWaylandSurfaceRole` und weist ihr den Namen ` name` zu. Der Name wird in Fehlermeldungen verwendet, die diese `QWaylandSurfaceRole` betreffen.

const QByteArray QWaylandSurfaceRole::name()

Gibt den Namen des „ QWaylandSurfaceRole “ zurück. Der Name wird in Fehlermeldungen verwendet, die diesen „ QWaylandSurfaceRole “ betreffen, beispielsweise wenn versucht wird, die Rolle einer Oberfläche zu ändern.

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