本页内容

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

信号

静态公共成员

QWaylandXdgToplevel *fromResource(wl_resource *resource)
QWaylandSurfaceRole *role()

详细说明

该类属于QWaylandXdgShell 扩展的一部分,提供了一种通过添加桌面风格窗口的特定功能来扩展QWaylandXdgSurface 功能的方法。

它对应于 Wayland 接口xdg_toplevel 。

成员类型文档

enum QWaylandXdgToplevel::DecorationMode

此枚举类型用于指定顶级窗口的窗口装饰模式。

常量值描述
QWaylandXdgToplevel::ServerSideDecoration2合成器应绘制窗口装饰。
QWaylandXdgToplevel::ClientSideDecoration1客户端应绘制窗口装饰。

属性文档

[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()

该属性控制顶级窗口是否阻止其他窗口接收输入。

该枚举类型在 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.