En esta página

QWaylandOutput Class

La clase QWaylandOutput representa un área visualizable gestionada por el compositor. Más...

Cabecera: #include <QWaylandOutput>
CMake: find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)
qmake: QT += waylandcompositor
En QML: WaylandOutput
Hereda: QWaylandObject

Tipos públicos

enum Subpixel { SubpixelUnknown, SubpixelNone, SubpixelHorizontalRgb, SubpixelHorizontalBgr, SubpixelVerticalRgb, SubpixelVerticalBgr }
enum Transform { TransformNormal, Transform90, Transform180, Transform270, TransformFlipped, …, TransformFlipped270 }

Propiedades

Funciones públicas

QWaylandOutput(QWaylandCompositor *compositor, QWindow *window)
virtual ~QWaylandOutput() override
void addMode(const QWaylandOutputMode &mode, bool preferred = false)
QRect availableGeometry() const
QWaylandCompositor *compositor() const
QWaylandOutputMode currentMode() const
void frameStarted()
QRect geometry() const
QString manufacturer() const
QString model() const
QList<QWaylandOutputMode> modes() const
QSize physicalSize() const
QPoint position() const
int scaleFactor() const
void sendFrameCallbacks()
void setAvailableGeometry(const QRect &availableGeometry)
void setCurrentMode(const QWaylandOutputMode &mode)
void setManufacturer(const QString &manufacturer)
void setModel(const QString &model)
void setPhysicalSize(const QSize &size)
void setPosition(const QPoint &pt)
void setScaleFactor(int scale)
void setSizeFollowsWindow(bool follow)
void setSubpixel(const QWaylandOutput::Subpixel &subpixel)
void setTransform(const QWaylandOutput::Transform &transform)
void setWindow(QWindow *window)
bool sizeFollowsWindow() const
QWaylandOutput::Subpixel subpixel() const
QWaylandOutput::Transform transform() const
virtual void update()
QWindow *window() const

Señales

Miembros públicos estáticos

QWaylandOutput *fromResource(wl_resource *resource)

Descripción Detallada

QWaylandOutput gestiona un área rectangular dentro de los límites de la geometría del compositor, para utilizarla en la visualización del contenido del cliente. Esto podría ser, por ejemplo, una pantalla gestionada por el WaylandCompositor.

La clase corresponde a la interfaz wl_output del protocolo Wayland.

Documentación de tipos de miembros

enum QWaylandOutput::Subpixel

Este tipo enum se utiliza para especificar la disposición de los subpíxeles de un QWaylandOutput.

ConstanteValorDescripción
QWaylandOutput::SubpixelUnknown0La disposición de los subpíxeles no está definida.
QWaylandOutput::SubpixelNone1No hay subpíxeles.
QWaylandOutput::SubpixelHorizontalRgb2Los subpíxeles están dispuestos horizontalmente en orden rojo, verde, azul.
QWaylandOutput::SubpixelHorizontalBgr3Los subpíxeles están dispuestos horizontalmente en orden azul, verde, rojo.
QWaylandOutput::SubpixelVerticalRgb4Los subpíxeles están dispuestos verticalmente en orden rojo, verde, azul.
QWaylandOutput::SubpixelVerticalBgr5Los subpíxeles están dispuestos verticalmente en orden azul, verde y rojo.

Véase también QWaylandOutput::subpixel.

enum QWaylandOutput::Transform

* * Este tipo enum se utiliza para especificar la orientación de un QWaylandOutput. * *

ConstanteValorDescripción
QWaylandOutput::TransformNormal0La orientación es normal. *
QWaylandOutput::Transform901La orientación está girada 90 grados. *
QWaylandOutput::Transform1802La orientación está girada 180 grados. *
QWaylandOutput::Transform2703La orientación se gira 270 grados. *
QWaylandOutput::TransformFlipped4La orientación se refleja. *
QWaylandOutput::TransformFlipped905La orientación se refleja y se gira 90 grados. *
QWaylandOutput::TransformFlipped1806La orientación se refleja y se gira 180 grados. *
QWaylandOutput::TransformFlipped2707La orientación se refleja y se gira 270 grados. * *

Véase también QWaylandOutput::transform.

Documentación de propiedades

availableGeometry : QRect

Esta propiedad contiene la geometría de QWaylandOutput disponible para mostrar el contenido. La geometría disponible está en el espacio de coordenadas de salida, comienza en 0,0 y es tan grande como la salida por defecto.

Funciones de acceso:

QRect availableGeometry() const
void setAvailableGeometry(const QRect &availableGeometry)

Señal del notificador:

void availableGeometryChanged()

Véase también QWaylandOutput::currentMode y QWaylandOutput::geometry.

compositor : QWaylandCompositor*

Esta propiedad contiene el compositor que muestra el contenido en este QWaylandOutput.

Nota: Esta propiedad sólo puede establecerse una vez, antes de que se haya inicializado QWaylandOutput.

Funciones de acceso:

QWaylandCompositor *compositor() const

Señal del notificador:

void compositorChanged()

[read-only] geometry : QRect

Esta propiedad mantiene la geometría de QWaylandOutput.

Funciones de acceso:

QRect geometry() const

Señal del notificador:

void geometryChanged()

Véase también QWaylandOutput::currentMode.

manufacturer : QString

Esta propiedad contiene una descripción textual del fabricante de la pantalla gestionada por este QWaylandOutput.

Funciones de acceso:

QString manufacturer() const
void setManufacturer(const QString &manufacturer)

Señal del notificador:

void manufacturerChanged()

model : QString

Esta propiedad contiene una descripción textual del modelo de la pantalla gestionada por este QWaylandOutput.

Funciones de acceso:

QString model() const
void setModel(const QString &model)

Señal del notificador:

void modelChanged()

physicalSize : QSize

Esta propiedad contiene el tamaño físico de QWaylandOutput en milímetros.

Funciones de acceso:

QSize physicalSize() const
void setPhysicalSize(const QSize &size)

Señal del notificador:

void physicalSizeChanged()

Véase también QWaylandOutput::geometry y QWaylandOutput::currentMode.

position : QPoint

Esta propiedad contiene la posición de este QWaylandOutput en el sistema de coordenadas del compositor.

Funciones de acceso:

QPoint position() const
void setPosition(const QPoint &pt)

Señal del notificador:

void positionChanged()

scaleFactor : int

Esta propiedad contiene el factor por el que QWaylandCompositor escala los buffers de superficie antes de mostrarlos. Se utiliza en dispositivos de salida de alta densidad en los que el contenido sin escalar sería demasiado pequeño para resultar práctico. El cliente puede, a su vez, establecer el factor de escala de su búfer para que coincida con la salida si prefiere proporcionar contenido de alta resolución que sea adecuado para el dispositivo de salida.

El valor por defecto es 1 (sin escalado).

Funciones de acceso:

int scaleFactor() const
void setScaleFactor(int scale)

Señal notificadora:

void scaleFactorChanged()

sizeFollowsWindow : bool

Esta propiedad controla si el tamaño de QWaylandOutput coincide con el tamaño de su ventana.

Si esta propiedad es true, todos los modos añadidos previamente son reemplazados por un modo que coincide con el tamaño de la ventana y la frecuencia de refresco de la pantalla.

Por defecto es false.

Funciones de acceso:

bool sizeFollowsWindow() const
void setSizeFollowsWindow(bool follow)

Señal del notificador:

void sizeFollowsWindowChanged()

subpixel : QWaylandOutput::Subpixel

Esta propiedad contiene la disposición de subpíxeles de este QWaylandOutput. El valor por defecto es QWaylandOutput::SubpixelUnknown.

Funciones de acceso:

QWaylandOutput::Subpixel subpixel() const
void setSubpixel(const QWaylandOutput::Subpixel &subpixel)

Señal del notificador:

void subpixelChanged()

transform : QWaylandOutput::Transform

Esta propiedad contiene la transformación que QWaylandCompositor aplica a una superficie para compensar la orientación de QWaylandOutput.

El valor por defecto es QWaylandOutput::TransformNormal.

Funciones de acceso:

QWaylandOutput::Transform transform() const
void setTransform(const QWaylandOutput::Transform &transform)

Señal del notificador:

void transformChanged()

window : QWindow*

Esta propiedad contiene el QWindow para este QWaylandOutput.

Funciones de acceso:

QWindow *window() const
void setWindow(QWindow *window)

Señal del notificador:

void windowChanged()

Documentación de la función miembro

QWaylandOutput::QWaylandOutput(QWaylandCompositor *compositor, QWindow *window)

Construye un QWaylandOutput en compositor y con el window especificado. La función create() debe ser llamada en el compositor antes de construir un QWaylandOutput para él.

El objeto QWaylandOutput se inicializa más tarde, como reacción a un evento. En este punto se añade como una salida para el compositor. Si es el primer objeto QWaylandOutput creado para este compositor, se convierte en el default output.

[override virtual noexcept] QWaylandOutput::~QWaylandOutput()

Destruye el QWaylandOutput.

void QWaylandOutput::addMode(const QWaylandOutputMode &mode, bool preferred = false)

Añade el modo mode a la salida y lo marca como preferido si preferred es true. Tenga en cuenta que sólo puede haber un modo preferido.

QWaylandCompositor *QWaylandOutput::compositor() const

Devuelve el compositor para este QWaylandOutput.

Nota: Función Getter para el compositor de propiedades.

QWaylandOutputMode QWaylandOutput::currentMode() const

Devuelve el tamaño de la salida en píxeles y la frecuencia de refresco en mHz. Si el modo actual no está establecido devolverá un modo inválido.

Véase también setCurrentMode(), QWaylandOutput::modes, y QWaylandOutputMode.

void QWaylandOutput::frameStarted()

Informa a QWaylandOutput de que se ha iniciado una trama.

[static] QWaylandOutput *QWaylandOutput::fromResource(wl_resource *resource)

Devuelve el QWaylandOutput correspondiente a resource.

QList<QWaylandOutputMode> QWaylandOutput::modes() const

Devuelve la lista de modos.

void QWaylandOutput::sendFrameCallbacks()

Envía las retrollamadas de fotogramas pendientes.

void QWaylandOutput::setCurrentMode(const QWaylandOutputMode &mode)

Establece el modo actual. El modo mode debe haber sido añadido previamente.

Véase también currentMode(), QWaylandOutput::modes, y QWaylandOutputMode.

[virtual] void QWaylandOutput::update()

Programa la entrega de un mensaje QEvent::UpdateRequest a la dirección QWaylandOutput's window.

Véase también QWindow::requestUpdate().

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