Sur cette page

QWaylandSurfaceRole Class

La classe `QWaylandSurfaceRole` représente le rôle de la surface dans le contexte de `wl_surface`. En savoir plus...

En-tête : #include <QWaylandSurfaceRole>
CMake : find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)
qmake : QT += waylandcompositor

Fonctions publiques

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

Description détaillée

QWaylandSurfaceRole est utilisé pour représenter le rôle d'une surface ( QWaylandSurface). Conformément à la spécification du protocole, le rôle d'une surface est permanent une fois défini, et si la même surface est réutilisée ultérieurement pour un rôle différent, cela constitue une erreur de protocole. Définir plusieurs fois le même rôle pour une surface ne constitue pas une erreur.

À titre d’exemple, l’ QWaylandXdgShell peut attribuer aux surfaces les rôles « popup » ou « toplevel ». Si une demande de « get_toplevel » est émise sur une surface ayant précédemment reçu une demande de « get_popup », le compositeur générera alors une erreur de protocole.

Les rôles sont comparés par la valeur de leur pointeur ; ainsi, deux objets de type `QWaylandSurfaceRole` quelconques seront considérés comme des rôles différents, quelles que soient leurs ` names `. Une méthode courante pour attribuer un rôle consiste à utiliser un objet `QWaylandSurfaceRole` statique pour le représenter.

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

// ...

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

Documentation des fonctions membres

QWaylandSurfaceRole::QWaylandSurfaceRole(const QByteArray &name)

Crée un objet `QWaylandSurfaceRole` et lui attribue le n name. Ce nom est utilisé dans les messages d'erreur liés à cet objet `QWaylandSurfaceRole`.

const QByteArray QWaylandSurfaceRole::name()

Renvoie le nom de l'QWaylandSurfaceRole. Ce nom est utilisé dans les messages d'erreur liés à cette QWaylandSurfaceRole, par exemple lorsqu'on tente de modifier le rôle d'une surface.

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