QWaylandXdgToplevel Class
QWaylandXdgToplevel 类表示 xdg 表面中与顶级窗口相关的特定部分。更多内容...
| 头文件: | #include <QWaylandXdgToplevel> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor) target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor) |
| qmake: | QT += waylandcompositor |
| 在 QML 中: | XdgToplevel |
| 继承自: | QObject |
公共类型
| enum | DecorationMode { ServerSideDecoration, ClientSideDecoration } |
属性
|
|
公共函数
| QWaylandXdgToplevel(QWaylandXdgSurface *xdgSurface, QWaylandResource &resource) | |
| bool | activated() const |
| QString | appId() const |
| QWaylandXdgToplevel::DecorationMode | decorationMode() const |
| bool | fullscreen() const |
| bool | isModal() const |
| QSize | maxSize() const |
| bool | maximized() const |
| QSize | minSize() const |
| QWaylandXdgToplevel * | parentToplevel() const |
| bool | resizing() const |
| void | sendClose() |
| uint | sendConfigure(const QSize &size, const QList<QWaylandXdgToplevel::State> &states) |
| uint | sendFullscreen(const QSize &size) |
| uint | sendMaximized(const QSize &size) |
| uint | sendResizing(const QSize &size) |
| uint | sendUnmaximized(const QSize &size = QSize(0, 0)) |
| QSize | sizeForResize(const QSizeF &size, const QPointF &delta, Qt::Edges edges) const |
| QString | title() const |
| QWaylandXdgSurface * | xdgSurface() const |
信号
| void | activatedChanged() |
| void | appIdChanged() |
| void | decorationModeChanged() |
| void | fullscreenChanged() |
| void | maxSizeChanged() |
| void | maximizedChanged() |
| void | minSizeChanged() |
| void | modalChanged() |
| void | parentToplevelChanged() |
| void | resizingChanged() |
| void | statesChanged() |
| void | titleChanged() |
静态公共成员
| QWaylandXdgToplevel * | fromResource(wl_resource *resource) |
| QWaylandSurfaceRole * | role() |
详细说明
该类属于QWaylandXdgShell 扩展的一部分,提供了一种通过添加桌面风格窗口的特定功能来扩展QWaylandXdgSurface 功能的方法。
它对应于 Wayland 接口xdg_toplevel 。
成员类型文档
enum QWaylandXdgToplevel::DecorationMode
此枚举类型用于指定顶级窗口的窗口装饰模式。
| 常量 | 值 | 描述 |
|---|---|---|
QWaylandXdgToplevel::ServerSideDecoration | 2 | 合成器应绘制窗口装饰。 |
QWaylandXdgToplevel::ClientSideDecoration | 1 | 客户端应绘制窗口装饰。 |
属性文档
[read-only] activated : bool
该属性表示顶级窗口是否将自身绘制为具有输入焦点的状态。
访问函数:
| bool | activated() const |
通知信号:
| void | activatedChanged() |
[read-only] appId : QString
该属性存储QWaylandXdgToplevel 的App ID。它对应于Qt中的desktopFileName 。
访问函数:
| QString | appId() const |
通知器信号:
| void | appIdChanged() |
[read-only] decorationMode : enum DecorationMode
该属性保存了此顶级窗口的当前窗口装饰模式。
访问函数:
| QWaylandXdgToplevel::DecorationMode | decorationMode() const |
通知信号:
| void | decorationModeChanged() |
另请参阅 QWaylandXdgDecorationManagerV1 。
[read-only] fullscreen : bool
该属性表示客户端是否已确认应进入全屏模式。
访问函数:
| bool | fullscreen() const |
通知信号:
| void | fullscreenChanged() |
[read-only] maxSize : QSize
该属性存储了QWaylandXdgToplevel 的最大尺寸。
合成器可以忽略此值并请求更大的尺寸。
访问函数:
| QSize | maxSize() const |
通知器信号:
| void | maxSizeChanged() |
[read-only] maximized : bool
该属性表示客户端是否已确认应将其最大化。
访问函数:
| bool | maximized() const |
通知器信号:
| void | maximizedChanged() |
[read-only] minSize : QSize
该属性存储了QWaylandXdgToplevel 的最小尺寸。
合成器可以忽略此值并请求更小的尺寸。
访问函数:
| QSize | minSize() const |
通知器信号:
| void | minSizeChanged() |
[read-only, since 6.8] modal : bool
该属性控制顶级窗口是否阻止其他窗口接收输入。
该枚举类型在 Qt 6.8 中引入。
访问函数:
| bool | isModal() const |
通知器信号:
| void | modalChanged() |
[read-only] parentToplevel : QWaylandXdgToplevel*
该属性保存了此XdgToplevel 的父级XdgToplevel 。
访问函数:
| QWaylandXdgToplevel * | parentToplevel() const |
通知信号:
| void | parentToplevelChanged() |
[read-only] resizing : bool
该属性表示客户端是否已确认其正在被调整大小。
访问函数:
| bool | resizing() const |
通知信号:
| void | resizingChanged() |
[read-only] states : QList<int>
该属性保存客户端针对此 QWaylandToplevel 确认的最后状态。
通知器信号:
| void | statesChanged() |
[read-only] title : QString
该物业荣获“QWaylandXdgToplevel ”称号。
访问函数:
| QString | title() const |
通知信号:
| void | titleChanged() |
[read-only] xdgSurface : QWaylandXdgSurface* const
该属性保存了此QWaylandXdgToplevel 的QWaylandXdgSurface 。
访问函数:
| QWaylandXdgSurface * | xdgSurface() const |
成员函数文档
[explicit] QWaylandXdgToplevel::QWaylandXdgToplevel(QWaylandXdgSurface *xdgSurface, QWaylandResource &resource)
根据给定的xdgSurface 和resource ,构建一个QWaylandXdgToplevel对象。
[static] QWaylandXdgToplevel *QWaylandXdgToplevel::fromResource(wl_resource *resource)
返回与resource 对应的QWaylandXdgToplevel 。
[static] QWaylandSurfaceRole *QWaylandXdgToplevel::role()
返回 QWaylandToplevel 的表面角色。
[invokable] void QWaylandXdgToplevel::sendClose()
向客户端发送一个关闭事件。客户端可以选择忽略该事件。
注意:此 函数可通过元对象系统和 QML 调用。参见Q_INVOKABLE 。
uint QWaylandXdgToplevel::sendConfigure(const QSize &size, const QList<QWaylandXdgToplevel::State> &states)
向客户端发送一个配置事件。参数size 包含画布的像素尺寸。若尺寸为零,则表示客户端可自行决定尺寸。已知的states 在QWaylandXdgToplevel::State中列举。
[invokable] uint QWaylandXdgToplevel::sendFullscreen(const QSize &size)
便于在设置为全屏状态时发送配置事件,同时移除了最大化及调整大小的功能。激活状态保持不变。
size 是窗口的新尺寸。
注意: 可通过元对象系统和 QML 调用此 函数。参见Q_INVOKABLE 。
另请参阅 sendUnmaximized 。
[invokable] uint QWaylandXdgToplevel::sendMaximized(const QSize &size)
便于发送配置事件,同时设置为最大化状态,并移除全屏和调整大小的功能。激活状态保持不变。
size 是窗口的新尺寸。
注意:此 函数可通过元对象系统和 QML 调用。参见Q_INVOKABLE 。
[invokable] uint QWaylandXdgToplevel::sendResizing(const QSize &size)
便于发送一个配置事件,其中已设置调整大小状态,并移除了最大化及全屏状态。激活状态保持为当前状态。
size 是窗口的新尺寸。
注意:此 函数可通过元对象系统以及从 QML 中调用。请参阅Q_INVOKABLE 。
[invokable] uint QWaylandXdgToplevel::sendUnmaximized(const QSize &size = QSize(0, 0))
用于发送配置事件的便捷方法,其中已移除“最大化”、“全屏”和“调整大小”这三种状态,并进一步移除了“全屏”和“调整大小”这两种状态。而“激活”状态则保持其当前状态不变。
size 是窗口的新尺寸。如果size 为零,则由客户端决定尺寸。
注意:此 函数可通过元对象系统和 QML 调用。参见Q_INVOKABLE 。
[invokable] QSize QWaylandXdgToplevel::sizeForResize(const QSizeF &size, const QPointF &delta, Qt::Edges edges) const
在拖动操作中,给定当前的size 、delta 以及edges ,该函数可方便地计算出新的尺寸。
注意: 可以通过元对象系统和 QML 调用此 函数。参见Q_INVOKABLE 。
© 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.