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 |
信号
void | availableGeometryChanged() |
void | compositorChanged() |
void | geometryChanged() |
void | manufacturerChanged() |
void | modelChanged() |
void | physicalSizeChanged() |
void | positionChanged() |
void | scaleFactorChanged() |
void | sizeFollowsWindowChanged() |
void | subpixelChanged() |
void | transformChanged() |
void | windowChanged() |
静态公共成员
QWaylandOutput * | fromResource(wl_resource *resource) |
详细说明
QWaylandOutput 在合成器几何图形的范围内管理一个矩形区域,用于显示客户端内容。例如,这可以是由WaylandCompositor 管理的屏幕。
该类对应于 Wayland 协议中的wl_output
接口。
成员类型文档
enum QWaylandOutput::Subpixel
该枚举类型用于指定QWaylandOutput 的子像素排列。
常量 | 值 | 说明 |
---|---|---|
QWaylandOutput::SubpixelUnknown | 0 | 未设置子像素排列。 |
QWaylandOutput::SubpixelNone | 1 | 没有子像素。 |
QWaylandOutput::SubpixelHorizontalRgb | 2 | 子像素按红、绿、蓝顺序水平排列。 |
QWaylandOutput::SubpixelHorizontalBgr | 3 | 子像素按蓝、绿、红顺序水平排列。 |
QWaylandOutput::SubpixelVerticalRgb | 4 | 子像素按红、绿、蓝顺序垂直排列。 |
QWaylandOutput::SubpixelVerticalBgr | 5 | 子像素按蓝、绿、红顺序垂直排列。 |
另请参见 QWaylandOutput::subpixel 。
enum QWaylandOutput::Transform
* 该枚举类型用于指定QWaylandOutput 的方向。
常数 | 值 | 说明 |
---|---|---|
QWaylandOutput::TransformNormal | 0 | 方向正常。* |
QWaylandOutput::Transform90 | 1 | 方向旋转 90 度。* |
QWaylandOutput::Transform180 | 2 | 方向旋转 180 度。* |
QWaylandOutput::Transform270 | 3 | 方向旋转 270 度。* |
QWaylandOutput::TransformFlipped | 4 | 方向镜像* |
QWaylandOutput::TransformFlipped90 | 5 | 方向被镜像并旋转 90 度。* |
QWaylandOutput::TransformFlipped180 | 6 | 镜像方向,旋转 180 度。* |
QWaylandOutput::TransformFlipped270 | 7 | 方向镜像并旋转 270 度。* * |
另请参见 QWaylandOutput::transform 。
属性文档
availableGeometry : QRect
该属性用于保存QWaylandOutput 中可用于显示内容的几何图形。可用几何图形以输出坐标空间为单位,从 0,0 开始,默认情况下与输出一样大。
访问功能:
QRect | availableGeometry() const |
void | setAvailableGeometry(const QRect &availableGeometry) |
Notifier 信号:
void | availableGeometryChanged() |
另请参阅 QWaylandOutput::currentMode 和QWaylandOutput::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::geometry 和QWaylandOutput::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()
void QWaylandOutput::addMode(const QWaylandOutputMode &mode, bool preferred = false)
将模式mode 添加到输出中,如果preferred 是true
,则将其标记为首选模式。请注意,首选模式只能有一个。
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 发送到QWaylandOutput 的window 。
另请参见 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.