QWaylandXdgToplevel Class

QWaylandXdgToplevel 类表示 xdg 表面的顶层窗口特定部分。更多

Header: #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 &maxSize)
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 : const bool

此属性用于确定 toplevel 是否将自身绘制为输入焦点。

访问功能

bool activated() const

Notifier 信号:

void activatedChanged()

[read-only] appId : const QString

此属性保存QWaylandXdgToplevel 的应用程序 ID。

访问功能:

QString appId() const

Notifier 信号:

void appIdChanged()

[read-only] decorationMode : const enum DecorationMode

该属性用于保存该顶层当前的窗口装饰模式。

访问功能:

QWaylandXdgToplevel::DecorationMode decorationMode() const

Notifier 信号:

void decorationModeChanged()

另请参见 QWaylandXdgDecorationManagerV1

[read-only] fullscreen : const bool

该属性用于保存客户端是否已确认全屏。

访问功能:

bool fullscreen() const

Notifier 信号:

void fullscreenChanged()

[read-only] maxSize : const QSize

此属性表示QWaylandXdgToplevel 的最大尺寸。

合成器可以忽略此值,并要求更大的尺寸。

访问功能:

QSize maxSize() const

通知信号:

void maxSizeChanged()

[read-only] maximized : const bool

该属性表示客户是否承认应将其最大化。

访问功能:

bool maximized() const

通知信号:

void maximizedChanged()

[read-only] minSize : const QSize

此属性表示QWaylandXdgToplevel 的最小尺寸。

合成器可自由忽略此值并要求更小的尺寸。

访问功能:

QSize minSize() const

通知信号:

void minSizeChanged()

此属性表示 toplevel 是否阻止其他窗口接收输入。

此属性在 Qt 6.8 中引入。

访问函数:

bool isModal() const

Notifier 信号:

void modalChanged()

[read-only] parentToplevel : QWaylandXdgToplevel* const

该属性保存此XdgToplevel 的父级XdgToplevel

访问功能:

QWaylandXdgToplevel *parentToplevel() const

Notifier 信号:

void parentToplevelChanged()

[read-only] resizing : const bool

此属性表示客户端是否已确认正在调整其大小。

访问功能:

bool resizing() const

通知信号:

void resizingChanged()

[read-only] states : const QList<int>

此属性保存客户端对此 QWaylandToplevel 确认的最后状态。

Notifier 信号的最后状态:

void statesChanged()

[read-only] title : const QString

该属性包含QWaylandXdgToplevel 的标题。

访问功能:

QString title() const

通知信号:

void titleChanged()

[read-only] xdgSurface : QWaylandXdgSurface* const

该属性保存了QWaylandXdgSurface QWaylandXdgToplevel

访问函数:

QWaylandXdgSurface *xdgSurface() const

成员函数文档

[explicit] QWaylandXdgToplevel::QWaylandXdgToplevel(QWaylandXdgSurface *xdgSurface, QWaylandResource &resource)

为给定的xdgSurfaceresource 构建 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 包含曲面的像素大小。尺寸为 0 表示客户端可自由决定尺寸。已知的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 &maxSize)

方便发送已设置大小调整状态、已移除最大化和全屏状态的配置事件。激活状态保持当前状态。

maxSize 是窗口的新大小。

注: 可通过元对象系统和 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

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