このページでは

QWaylandSurfaceRole Class

QWaylandSurfaceRole クラスは、wl_surface の文脈におけるサーフェスの役割を表します。詳細...

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

パブリック関数

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

詳細な説明

QWaylandSurfaceRoleは、QWaylandSurface の役割を表すために使用されます。プロトコル仕様に従い、サーフェスの役割は一度設定されると永続的であり、後で同じサーフェスが異なる役割のために再利用された場合、これはプロトコルエラーとなります。サーフェスを同じ役割に複数回設定することはエラーではありません。

例として、QWaylandXdgShell はサーフェスに「popup」または「toplevel」のいずれかのロールを割り当てることができます。以前にget_popup リクエストを受け取ったサーフェスに対してget_toplevel が要求された場合、コンポジターはプロトコルエラーを発行します。

ロールはポインタ値によって比較されるため、names が何であれ、2つのQWaylandSurfaceRoleオブジェクトは異なるロールと見なされます。ロールを割り当てる一般的な方法は、それを表す静的なQWaylandSurfaceRoleオブジェクトを用意することです。

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

// ...

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

メンバ関数のドキュメント

QWaylandSurfaceRole::QWaylandSurfaceRole(const QByteArray &name)

QWaylandSurfaceRole を作成し、name を割り当てます。この名前は、この QWaylandSurfaceRole に関連するエラーメッセージで使用されます。

const QByteArray QWaylandSurfaceRole::name()

QWaylandSurfaceRole の名前を返します。この名前は、このQWaylandSurfaceRole に関連するエラーメッセージで使用されます。たとえば、サーフェスのロールを変更しようとした場合などです。

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