このページでは

QWaylandCompositorExtension Class

QWaylandCompositorExtension は、コンポジター拡張機能の基底クラスです。詳細...

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

QWaylandCompositorExtensionTemplate、QWaylandShell 、およびQWaylandShellSurface

パブリック関数

QWaylandCompositorExtension()
QWaylandCompositorExtension(QWaylandObject *container)
QWaylandObject *extensionContainer() const
virtual const struct wl_interface *extensionInterface() const = 0
virtual void initialize()
void setExtensionContainer(QWaylandObject *container)

詳細説明

QWaylandCompositorExtension は、接続のコンポジター側で Wayland 拡張機能を実装するための基底クラスです。他の拡張コンテナが明示的に設定されていない場合、親オブジェクトがQWaylandObject を継承していることを条件として、自動的に自身をその親オブジェクトに追加します。

たとえば、グローバル拡張機能を登録するには、QWaylandCompositorExtension を継承し、QWaylandCompositor オブジェクトを拡張機能コンテナとして渡します。

QWaylandCompositorExtensionTemplate およびCustom Shellも参照してください 。

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

QWaylandCompositorExtension::QWaylandCompositorExtension()

コンテナを持たない QWaylandCompositorExtension を作成します。

setExtensionContainer()も参照してください 。

QWaylandCompositorExtension::QWaylandCompositorExtension(QWaylandObject *container)

QWaylandCompositorExtension を作成し、それを拡張機能container に追加します。container は、QWaylandCompositorExtension の親にはなりません。

この拡張機能は、後でinitialize() が呼び出された際に、container に自身を追加します。これを自動的に実行するには、現在のスレッドでイベントループが実行されている必要があります。

QWaylandCompositorExtensionは、破棄された際に自身をxml-ph-0000@deepl.internalから削除します。

QWaylandObject *QWaylandCompositorExtension::extensionContainer() const

このQWaylandCompositorExtension の拡張コンテナを返します。設定されていない場合はnullを返します。

setExtensionContainer()も参照してください 。

[pure virtual] const struct wl_interface *QWaylandCompositorExtension::extensionInterface() const

このQWaylandCompositorExtension に対応するwl_interface を返すように再実装すべき純粋仮想関数です。

[virtual] void QWaylandCompositorExtension::initialize()

QWaylandCompositorExtension を初期化します。デフォルトの実装では、拡張コンテナが設定されていない場合、かつ親オブジェクトがQWaylandObject を継承している場合に、その親オブジェクトを拡張コンテナとして採用します。また、デフォルトの実装では、QWaylandCompositorExtension を、拡張コンテナが管理する拡張機能のリストに追加します。

サブクラスでこの関数をオーバーライドして、カスタムな初期化コードを実装してください。

void QWaylandCompositorExtension::setExtensionContainer(QWaylandObject *container)

このQWaylandCompositorExtension の拡張コンテナをcontainer に設定します。これはinitialize()を呼び出す前に呼び出す必要があり、QWaylandCompositorExtension が初期化されると変更できなくなります。

extensionContainer()も参照してください 。

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