QWaylandCompositor Class
La clase QWaylandCompositor gestiona el servidor de visualización Wayland. Más...
| Cabecera: | #include <QWaylandCompositor> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor) |
| qmake: | QT += waylandcompositor |
| En QML: | WaylandCompositor |
| Hereda: | QWaylandObject |
Propiedades
|
|
Funciones públicas
| QWaylandCompositor(QObject *parent = nullptr) | |
| virtual | ~QWaylandCompositor() override |
| void | addSocketDescriptor(int fd) |
| QVector<QWaylandCompositor::ShmFormat> | additionalShmFormats() const |
| virtual void | create() |
| QWaylandOutput * | defaultOutput() const |
| QWaylandSeat * | defaultSeat() const |
| void | destroyClient(QWaylandClient *client) |
| void | destroyClientForSurface(QWaylandSurface *surface) |
| virtual void | grabSurface(QWaylandSurfaceGrabber *grabber, const QWaylandBufferRef &buffer) |
| bool | isCreated() const |
| QWaylandOutput * | outputFor(QWindow *window) const |
| bool | retainedSelectionEnabled() const |
| QWaylandSeat * | seatFor(QInputEvent *inputEvent) |
| void | setAdditionalShmFormats(const QVector<QWaylandCompositor::ShmFormat> &additionalShmFormats) |
| void | setDefaultOutput(QWaylandOutput *output) |
| void | setRetainedSelectionEnabled(bool enabled) |
| void | setSocketName(const QByteArray &name) |
| void | setUseHardwareIntegrationExtension(bool use) |
| QByteArray | socketName() const |
| bool | useHardwareIntegrationExtension() const |
Señales
| void | additionalShmFormatsChanged() |
| void | createdChanged() |
| void | defaultOutputChanged() |
| void | defaultSeatChanged(QWaylandSeat *newDevice, QWaylandSeat *oldDevice) |
| void | retainedSelectionChanged(bool retainedSelection) |
| void | socketNameChanged(const QByteArray &socketName) |
| void | surfaceCreated(QWaylandSurface *surface) |
| void | surfaceRequested(QWaylandClient *client, uint id, int version) |
| void | useHardwareIntegrationExtensionChanged() |
Descripción detallada
El QWaylandCompositor gestiona las conexiones con los clientes, así como los diferentes outputs y seats.
Normalmente, una aplicación compositora tendrá una única instancia WaylandCompositor, que puede tener varias salidas como hijas.
Documentación de propiedades
[since 6.0] additionalShmFormats : QVector<ShmFormat>
Esta propiedad contiene la lista de formatos wl_shm adicionales anunciados como soportados por el compositor.
Por defecto, sólo se listan los requeridos ShmFormat_ARGB8888 y ShmFormat_XRGB8888 y esta lista estará vacía.
Esta propiedad debe establecerse antes de que el compositor sea created. Los cambios posteriores no tendrán efecto.
Esta propiedad se introdujo en Qt 6.0.
Funciones de acceso:
| QVector<QWaylandCompositor::ShmFormat> | additionalShmFormats() const |
| void | setAdditionalShmFormats(const QVector<QWaylandCompositor::ShmFormat> &additionalShmFormats) |
Señal del notificador:
| void | additionalShmFormatsChanged() |
[read-only] created : bool
Esta propiedad es verdadera si QWaylandCompositor ha sido inicializada, en caso contrario es falsa.
Funciones de acceso:
| bool | isCreated() const |
Señal del notificador:
| void | createdChanged() |
defaultOutput : QWaylandOutput*
Esta propiedad contiene la primera de la lista de salidas añadidas a QWaylandCompositor, o null si no se ha añadido ninguna salida.
Al establecer una nueva salida por defecto, ésta se añade a la lista de salidas, convirtiéndose en la nueva salida por defecto, pero la salida por defecto anterior no se elimina de la lista. Si la nueva salida por defecto ya estaba en la lista de salidas, se mueve al principio de la lista.
Funciones de acceso:
| QWaylandOutput * | defaultOutput() const |
| void | setDefaultOutput(QWaylandOutput *output) |
Señal del notificador:
| void | defaultOutputChanged() |
[read-only] defaultSeat : QWaylandSeat*
Esta propiedad contiene el asiento por defecto para este QWaylandCompositor.
Funciones de acceso:
| QWaylandSeat * | defaultSeat() const |
Señal del notificador:
| void | defaultSeatChanged(QWaylandSeat *newDevice, QWaylandSeat *oldDevice) |
retainedSelection : bool
Esta propiedad indica si está activada la selección conservada.
Funciones de acceso:
| bool | retainedSelectionEnabled() const |
| void | setRetainedSelectionEnabled(bool enabled) |
Señal del notificador:
| void | retainedSelectionChanged(bool retainedSelection) |
socketName : QByteArray
Esta propiedad contiene el nombre del socket utilizado por QWaylandCompositor para comunicarse con los clientes. Debe establecerse antes de que QWaylandCompositor se created.
Si socketName está vacío (por defecto), el contenido del argumento de inicio --wayland-socket-name se utiliza en su lugar. Si el argumento no está establecido, el compositor intenta encontrar un nombre de socket, que es wayland-0 por defecto.
Funciones de acceso:
| QByteArray | socketName() const |
| void | setSocketName(const QByteArray &name) |
Señal de notificador:
| void | socketNameChanged(const QByteArray &socketName) |
useHardwareIntegrationExtension : bool
Esta propiedad establece si la extensión de integración de hardware debe estar habilitada para este QWaylandCompositor.
Esta propiedad debe establecerse antes de que el compositor sea created.
Funciones de acceso:
| bool | useHardwareIntegrationExtension() const |
| void | setUseHardwareIntegrationExtension(bool use) |
Señal del notificador:
| void | useHardwareIntegrationExtensionChanged() |
Documentación de la función miembro
QWaylandCompositor::QWaylandCompositor(QObject *parent = nullptr)
Construye un QWaylandCompositor con la dirección parent.
[override virtual noexcept] QWaylandCompositor::~QWaylandCompositor()
Destruye el QWaylandCompositor
[invokable] void QWaylandCompositor::addSocketDescriptor(int fd)
Escucha conexiones de clientes en un descriptor de archivo, fd, que hace referencia a un socket de servidor ya enlazado y a la escucha.
No toma posesión del descriptor de fichero; debe cerrarse explícitamente si es necesario.
Nota: Este método sólo está disponible con libwayland 1.10.0 o posterior. Si se construye con un runtime libwayland anterior, este método es un noop.
Nota: Esta función puede ser invocada a través del sistema de meta-objetos y desde QML. Véase Q_INVOKABLE.
[virtual] void QWaylandCompositor::create()
Inicializa QWaylandCompositor. Si sobrescribe esta función en su subclase, asegúrese de llamar a la implementación de la clase base.
[invokable] void QWaylandCompositor::destroyClient(QWaylandClient *client)
Destruye la página client.
Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.
[invokable] void QWaylandCompositor::destroyClientForSurface(QWaylandSurface *surface)
Destruye el cliente de surface.
Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.
[virtual] void QWaylandCompositor::grabSurface(QWaylandSurfaceGrabber *grabber, const QWaylandBufferRef &buffer)
Obtiene el contenido de la superficie de la dirección buffer. La implementación por defecto requiere que un contexto OpenGL esté vinculado al hilo actual para funcionar. Si esto no es posible, reimplemente esta función en su subclase de compositor para implementar una lógica personalizada. La implementación por defecto sólo agarra memoria compartida y buffers OpenGL, reimplemente esto en su subclase compositor para manejar más tipos de búfer.
Nota: No debería llamar a esta función manualmente, sino utilizar QWaylandSurfaceGrabber (grabber).
[invokable] QWaylandOutput *QWaylandCompositor::outputFor(QWindow *window) const
Devuelve el QWaylandOutput que está conectado al window dado.
Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.
QWaylandSeat *QWaylandCompositor::seatFor(QInputEvent *inputEvent)
Selecciona el asiento para un evento de entrada dado inputEvent. Actualmente, Qt sólo soporta un único asiento.
[signal] void QWaylandCompositor::surfaceCreated(QWaylandSurface *surface)
Esta señal se emite cuando se ha creado una nueva instancia de QWaylandSurface surface .
[signal] void QWaylandCompositor::surfaceRequested(QWaylandClient *client, uint id, int version)
Esta señal se emite cuando un client ha creado una superficie con id id. La interfaz version también está disponible.
La ranura que se conecta a esta señal puede crear e inicializar una instancia de QWaylandSurface en el ámbito de la ranura. En caso contrario, se creará una superficie por defecto.
Las conexiones a esta señal deben ser del tipo de conexión Qt::DirectConnection.
© 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.