QWaylandCompositorExtension 类

QWaylandCompositorExtension 是 compositor 扩展的基类。更多信息请参阅此处...

头文件 #include <QWaylandCompositorExtension>
CMakefind_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)
qmakeQT += waylandcompositor
继承关系 QWaylandObject
由以下类继承

QWaylandCompositorExtensionTemplateQWaylandShellSurface

公共函数

QWaylandCompositorExtension()
QWaylandCompositorExtension(QWaylandObject *容器)
QWaylandObject *extensionContainer() const
虚拟的 const struct wl_interface *extensionInterface() const = 0
虚拟的 voidinitialize()
voidsetExtensionContainer(QWaylandObject *容器)

详细描述

QWaylandCompositorExtension 是在连接的 compositor 端实现 Wayland 扩展的基类。如果没有明确设置其他扩展容器,则它会自动将其自身添加到父对象中,前提是它继承自 QWaylandObject

例如,对于注册全局扩展,您可以继承自 QWaylandCompositorExtension 并将 QWaylandCompositor 对象作为扩展容器进行传递。

另见QWaylandCompositorExtensionTemplate自定义壳

成员函数文档

QWaylandCompositorExtension::QWaylandCompositorExtension()

创建一个没有容器的 QWaylandCompositorExtension。

另见setExtensionContainer

QWaylandCompositorExtension::QWaylandCompositorExtension(QWaylandObject *容器)

创建一个 QWaylandCompositorExtension 并将其添加到扩展 容器。该 容器 不会成为 QWaylandCompositorExtension 的父对象。

扩展将在调用 initialize() 后稍后将其自身添加到 容器 中。为了自动执行此操作,必须在当前线程中运行事件循环。

当 QWaylandCompositorExtension 被销毁时,它将再次将其自身从 容器 中移除。

QWaylandObject *QWaylandCompositorExtension::extensionContainer() const

返回此 QWaylandCompositorExtension 的扩展容器或未设置时的 null。

另见setExtensionContainer

[纯虚函数] const struct wl_interface *QWaylandCompositorExtension::extensionInterface() const

一个纯虚函数,应该被重新实现以返回与此 QWaylandCompositorExtension 对应的 wl_interface

[虚函数] void QWaylandCompositorExtension::initialize()

初始化 QWaylandCompositorExtension。默认实现如果未设置,则采用父对象作为扩展容器,如果父对象继承自 QWaylandObject。默认实现还将 QWaylandCompositorExtension 添加到扩展容器管理的扩展列表。

在子类中重写此函数以提供自定义初始化代码。

void QWaylandCompositorExtension::setExtensionContainer(QWaylandObject *container)

将此 QWaylandCompositorExtension 的扩展容器设置为 container。必须在 initialize() 调用之前调用此函数,并且初始化后无法更改。

另请参阅 extensionContainer

© 2024 Qt 公司有限公司。此处包含的文档贡献是各自所有者版权的一部分。此处提供的文档是根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款许可的。Qt 和相应的标志是芬兰及其它世界各地的 Qt 公司的商标。所有其他商标均为其各自所有者的财产。