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.