QWaylandOutput Class

QWaylandOutput 类表示由合成器管理的可显示区域。更多

头文件: #include <QWaylandOutput>
CMake: find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)
qmake: QT += waylandcompositor
在 QML 中: WaylandOutput
继承: QWaylandObject

公共类型

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

属性

公共功能

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

信号

静态公共成员

QWaylandOutput *fromResource(wl_resource *resource)

详细说明

QWaylandOutput 在合成器几何图形的范围内管理一个矩形区域,用于显示客户端内容。例如,这可以是由WaylandCompositor 管理的屏幕。

该类对应于 Wayland 协议中的wl_output 接口。

成员类型文档

enum QWaylandOutput::Subpixel

该枚举类型用于指定QWaylandOutput 的子像素排列。

常量说明
QWaylandOutput::SubpixelUnknown0未设置子像素排列。
QWaylandOutput::SubpixelNone1没有子像素。
QWaylandOutput::SubpixelHorizontalRgb2子像素按红、绿、蓝顺序水平排列。
QWaylandOutput::SubpixelHorizontalBgr3子像素按蓝、绿、红顺序水平排列。
QWaylandOutput::SubpixelVerticalRgb4子像素按红、绿、蓝顺序垂直排列。
QWaylandOutput::SubpixelVerticalBgr5子像素按蓝、绿、红顺序垂直排列。

另请参见 QWaylandOutput::subpixel

enum QWaylandOutput::Transform

* 该枚举类型用于指定QWaylandOutput 的方向。

常数说明
QWaylandOutput::TransformNormal0方向正常。*
QWaylandOutput::Transform901方向旋转 90 度。*
QWaylandOutput::Transform1802方向旋转 180 度。*
QWaylandOutput::Transform2703方向旋转 270 度。*
QWaylandOutput::TransformFlipped4方向镜像*
QWaylandOutput::TransformFlipped905方向被镜像并旋转 90 度。*
QWaylandOutput::TransformFlipped1806镜像方向,旋转 180 度。*
QWaylandOutput::TransformFlipped2707方向镜像并旋转 270 度。* *

另请参见 QWaylandOutput::transform

属性文档

availableGeometry : QRect

该属性用于保存QWaylandOutput 中可用于显示内容的几何图形。可用几何图形以输出坐标空间为单位,从 0,0 开始,默认情况下与输出一样大。

访问功能:

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

Notifier 信号:

void availableGeometryChanged()

另请参阅 QWaylandOutput::currentModeQWaylandOutput::geometry

[read-only] geometry : const QRect

该属性可保存QWaylandOutput 的几何图形。

访问功能:

QRect geometry() const

Notifier 信号:

void geometryChanged()

另请参阅 QWaylandOutput::currentMode

manufacturer : QString

该属性包含对QWaylandOutput 所管理的显示屏制造商的文字描述。

访问功能:

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

通知信号:

void manufacturerChanged()

model : QString

该属性包含对QWaylandOutput 所管理的显示屏模型的文字描述。

访问功能:

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

通知信号:

void modelChanged()

physicalSize : QSize

该属性表示QWaylandOutput 的物理尺寸,单位为毫米。

访问功能:

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

通知信号:

void physicalSizeChanged()

另请参阅 QWaylandOutput::geometryQWaylandOutput::currentMode

position : QPoint

该属性用于保存QWaylandOutput 在合成器坐标系中的位置。

访问功能:

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

通知信号:

void positionChanged()

scaleFactor : int

该属性用于保存QWaylandCompositor 在显示曲面缓冲区之前对其进行缩放的因子。这用于高密度输出设备,因为未缩放的内容太小而不实用。如果客户端希望提供适合输出设备的高分辨率内容,则可反过来设置其缓冲区的缩放因子,使其与输出相匹配。

默认值为 1(无缩放)。

访问功能:

int scaleFactor() const
void setScaleFactor(int scale)

通知信号:

void scaleFactorChanged()

sizeFollowsWindow : bool

该属性控制QWaylandOutput 的大小是否与其窗口大小相匹配。

如果该属性为 "true",之前添加的所有模式都会被与窗口大小和屏幕刷新率相匹配的模式所取代。

默认值为 false。

访问功能:

bool sizeFollowsWindow() const
void setSizeFollowsWindow(bool follow)

Notifier 信号:

void sizeFollowsWindowChanged()

subpixel : QWaylandOutput::Subpixel

该属性用于保存QWaylandOutput 的子像素排列方式。默认值为QWaylandOutput::SubpixelUnknown

访问功能:

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

通知信号:

void subpixelChanged()

transform : QWaylandOutput::Transform

此属性表示QWaylandCompositor 应用于曲面的变换,以补偿QWaylandOutput 的方向。

默认值为QWaylandOutput::TransformNormal

访问功能:

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

通知信号:

void transformChanged()

window : QWindow*

该属性保存了QWindow QWaylandOutput

访问功能:

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

Notifier 信号:

void windowChanged()

成员函数文档

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

compositor 中用指定的window 构建 QWaylandOutput。在为compositor 构建 QWaylandOutput 之前,必须调用create() 函数。

QWaylandOutput 对象稍后会在事件发生时被初始化。此时,它将被添加为compositor 的输出。如果它是为该compositor 创建的第一个 QWaylandOutput 对象,则它将成为default output

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

摧毁QWaylandOutput.

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

将模式mode 添加到输出中,如果preferredtrue ,则将其标记为首选模式。请注意,首选模式只能有一个。

QWaylandCompositor *QWaylandOutput::compositor() const

返回QWaylandOutput 的合成器。

注: 属性合成器的获取函数。

QWaylandOutputMode QWaylandOutput::currentMode() const

返回以像素为单位的输出尺寸和以 mHz 为单位的刷新率。如果当前模式未设置,将返回无效模式。

另请参阅 setCurrentMode(),QWaylandOutput::modes, 和QWaylandOutputMode

void QWaylandOutput::frameStarted()

通知QWaylandOutput 一帧已开始。

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

返回与resource 对应的QWaylandOutput

QList<QWaylandOutputMode> QWaylandOutput::modes() const

返回模式列表。

void QWaylandOutput::sendFrameCallbacks()

发送待处理的帧回调。

void QWaylandOutput::setCurrentMode(const QWaylandOutputMode &mode)

设置当前模式。mode 必须是之前添加的模式。

另请参阅 currentMode(),QWaylandOutput::modes, 和QWaylandOutputMode

[virtual] void QWaylandOutput::update()

QEvent::UpdateRequest 发送到QWaylandOutputwindow

另请参见 QWindow::requestUpdate() 。

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