Auf dieser Seite

QWaylandSurface Class

Die Klasse „QWaylandSurface“ stellt einen rechteckigen Bereich auf einem Ausgabegerät dar. Mehr...

Header: #include <QWaylandSurface>
CMake: find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)
qmake: QT += waylandcompositor
In QML: WaylandSurface
Erbt von: QWaylandObject

Öffentliche Typen

enum Origin { OriginTopLeft, OriginBottomLeft }

Eigenschaften

Öffentliche Funktionen

QWaylandSurface()
QWaylandSurface(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version)
virtual ~QWaylandSurface() override
int bufferScale() const
QSize bufferSize() const
QWaylandClient *client() const
QWaylandCompositor *compositor() const
Qt::ScreenOrientation contentOrientation() const
QSize destinationSize() const
void destroy()
void frameStarted()
bool hasContent() const
bool inhibitsIdle() const
void initialize(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version)
bool inputRegionContains(const QPoint &p) const
bool inputRegionContains(const QPointF &position) const
bool isCursorSurface() const
bool isDestroyed() const
bool isInitialized() const
bool isOpaque() const
void markAsCursorSurface(bool cursorSurface)
QWaylandSurface::Origin origin() const
QWaylandView *primaryView() const
struct wl_resource *resource() const
void sendFrameCallbacks()
void setPrimaryView(QWaylandView *view)
bool setRole(QWaylandSurfaceRole *role, wl_resource *errorResource, uint32_t errorCode)
QRectF sourceGeometry() const
QList<QWaylandView *> views() const
wl_client *waylandClient() const

Öffentliche Slots

Signale

Statische öffentliche Mitglieder

QWaylandSurface *fromResource(wl_resource *resource)

Detaillierte Beschreibung

Diese Klasse kapseln einen rechteckigen Pixelbereich, der auf einem Ausgabegerät angezeigt wird. Sie entspricht der Schnittstelle „ wl_surface “ im Wayland-Protokoll.

Dokumentation zum Mitgliedstyp

enum QWaylandSurface::Origin

Dieser Enum-Typ wird verwendet, um die Herkunft des Puffers eines „ QWaylandSurface “ anzugeben.

KonstanteWertBeschreibung
QWaylandSurface::OriginTopLeft0Der Ursprung ist die obere linke Ecke des Puffers.
QWaylandSurface::OriginBottomLeft1Der Ursprung ist die untere linke Ecke des Puffers.

Eigenschaftsdokumentation

[read-only] bufferScale : int

Diese Eigenschaft enthält den Puffer-Maßstab des „ QWaylandSurface “. Der Puffer-Maßstab ermöglicht es einem Client, Pufferdaten mit höherer Auflösung bereitzustellen, die für hochauflösende Ausgabegeräte verwendet werden können.

Zugriffsfunktionen:

int bufferScale() const

Benachrichtigungssignal:

void bufferScaleChanged()

[read-only] bufferSize : QSize

Diese Eigenschaft gibt die Größe des aktuellen Puffers dieses „ QWaylandSurface “ in Pixeln an, nicht in Oberflächenkoordinaten.

Für die Größe in Oberflächenkoordinaten verwenden Sie stattdessen destinationSize.

Zugriffsfunktionen:

QSize bufferSize() const

Notifier-Signal:

void bufferSizeChanged()

Siehe auch „ destinationSize “ und „ bufferScale “.

[read-only] client : QWaylandClient* const

Diese Eigenschaft enthält den Client, der diese QWaylandSurface nutzt.

Zugriffsfunktionen:

QWaylandClient *client() const

[read-only] contentOrientation : Qt::ScreenOrientation

Diese Eigenschaft gibt die Ausrichtung des Inhalts von „ QWaylandSurface “ an.

Zugriffsfunktionen:

Qt::ScreenOrientation contentOrientation() const

Benachrichtigungssignal:

void contentOrientationChanged()

Siehe auch „ QWaylandOutput::transform “.

cursorSurface : bool

Diese Eigenschaft gibt an, ob die „ QWaylandSurface “ eine Cursor-Oberfläche ist.

Zugriffsfunktionen:

bool isCursorSurface() const
void markAsCursorSurface(bool cursorSurface)

Benachrichtigungssignal:

void cursorSurfaceChanged()

[read-only] destinationSize : QSize

Diese Eigenschaft enthält die Größe dieses WaylandSurface in Oberflächenkoordinaten.

Zugriffsfunktionen:

QSize destinationSize() const

Benachrichtigungssignal:

void destinationSizeChanged()

Siehe auch „ bufferScale “ und „ bufferSize “.

[read-only] hasContent : bool

Diese Eigenschaft gibt an, ob die Oberfläche derzeit über einen fest zugewiesenen, nicht-null-Puffer verfügt.

Zugriffsfunktionen:

bool hasContent() const

Benachrichtigungssignal:

void hasContentChanged()

Siehe auch „ QWaylandSurface::bufferSize “.

[read-only] inhibitsIdle : bool

Diese Eigenschaft gibt an, ob diese Oberfläche das Leerlaufverhalten des Compositors – wie z. B. Bildschirmabschaltung, Bildschirmsperre und Bildschirmschoner – unterbinden soll.

Zugriffsfunktionen:

bool inhibitsIdle() const

Benachrichtigungssignal:

void inhibitsIdleChanged()

Siehe auch „ QWaylandIdleInhibitManagerV1 “.

[read-only, since 6.4] isOpaque : bool

Diese Eigenschaft gilt unabhängig davon, ob die Fläche vollständig undurchsichtig ist, wie vom Client über die Anforderung „set_opaque_region“ gemeldet.

Diese Aufzählung wurde in Qt 6.4 eingeführt.

Zugriffsfunktionen:

bool isOpaque() const

Notifier-Signal:

void isOpaqueChanged()

[read-only] origin : QWaylandSurface::Origin

Diese Eigenschaft enthält den Ursprung des Puffers der „ QWaylandSurface “ oder „ QWaylandSurface::OriginTopLeft “, falls die Oberfläche keinen Puffer hat.

Zugriffsfunktionen:

QWaylandSurface::Origin origin() const

Benachrichtigungssignal:

void originChanged()

[read-only] sourceGeometry : QRectF

Diese Eigenschaft beschreibt den Teil des angehängten QWaylandBuffer, der auf dem Bildschirm gezeichnet werden soll. Die Koordinaten werden von der Ecke des Puffers aus gemessen und mit bufferScale skaliert.

Zugriffsfunktionen:

QRectF sourceGeometry() const

Notifier-Signal:

void sourceGeometryChanged()

Siehe auch „ bufferScale “, „ bufferSize “ und „ destinationSize “.

Dokumentation der Mitgliedsfunktionen

QWaylandSurface::QWaylandSurface()

Erstellt eine nicht initialisierte `QWaylandSurface`.

QWaylandSurface::QWaylandSurface(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version)

Erstellt und initialisiert eine `QWaylandSurface` für die angegebenen ` compositor ` und ` client` sowie mit den angegebenen ` id ` und ` version`.

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

Zerstört die „ QWaylandSurface “.

[signal] void QWaylandSurface::childAdded(QWaylandSurface *child)

Dieses Signal wird ausgelöst, wenn ein „wl_subsurface“ ( child) zur Oberfläche hinzugefügt wurde.

QWaylandCompositor *QWaylandSurface::compositor() const

Gibt den Compositor für diese „ QWaylandSurface “ zurück.

[invokable] void QWaylandSurface::destroy()

Löscht das „ QWaylandSurface “.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

[signal] void QWaylandSurface::dragStarted(QWaylandDrag *drag)

Dieses Signal wird ausgesendet, wenn ein „ drag “ von dieser Fläche gestartet ist.

[invokable] void QWaylandSurface::frameStarted()

Bereitet alle Frame-Callbacks für den Versand vor.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

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

Gibt das „ QWaylandSurface “ zurück, das der Wayland-Ressource „ resource “ entspricht.

[invokable] void QWaylandSurface::initialize(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version)

Initialisiert das „ QWaylandSurface “ mit den angegebenen Werten „ compositor “ und „ client “ sowie mit den angegebenen Werten „ id “ und „ version “.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

bool QWaylandSurface::inputRegionContains(const QPoint &p) const

Gibt „ true “ zurück, wenn der Eingabebereich von „ QWaylandSurface “ den Punkt „ p “ enthält. Andernfalls wird „ false “ zurückgegeben.

bool QWaylandSurface::inputRegionContains(const QPointF &position) const

Gibt „ true “ zurück, wenn der Eingabebereich von „ QWaylandSurface “ den Punkt „ position “ enthält. Andernfalls wird „ false “ zurückgegeben.

[invokable] bool QWaylandSurface::isDestroyed() const

Gibt „true“ zurück, wenn das „ QWaylandSurface “ zerstört wurde. Andernfalls wird „false“ zurückgegeben.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe „ Q_INVOKABLE “.

bool QWaylandSurface::isInitialized() const

Gibt „true“ zurück, wenn die „ QWaylandSurface “ initialisiert wurde.

QWaylandView *QWaylandSurface::primaryView() const

Gibt die Hauptansicht von „ QWaylandSurface “ zurück.

Siehe auch „ QWaylandView::advance()“ und „ QWaylandSurface::setPrimaryView()“.

struct wl_resource *QWaylandSurface::resource() const

Gibt die Wayland-Ressource zurück, die diesem „ QWaylandSurface “ entspricht.

[invokable] void QWaylandSurface::sendFrameCallbacks()

Sendet Callbacks für ausstehende Frames.

Hinweis: Diese Funktion kann über das Metaobjekt-System und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

void QWaylandSurface::setPrimaryView(QWaylandView *view)

Legt die primäre Ansicht dieser „ QWaylandSurface “ auf „ view “ fest, falls mehrere Ansichten dieser Oberfläche vorhanden sind. Die primäre Ansicht ist die Ansicht, die die Bildwiederholfrequenz des Clients bestimmt. Sie sorgt dafür, dass Pufferverweise verworfen werden, wenn „ QWaylandView::advance()“ aufgerufen wird. Weitere Details finden Sie in der Dokumentation zu „ QWaylandView::advance()“.

Bei Shell-Surface-Integrationen wie QWaylandWlShellIntegration und QWaylandXdgShellV5Integration wirken sich Maximierungs- und Vollbildanforderungen des Clients nur dann aus, wenn die Integration die primäre Ansicht der Oberfläche besitzt.

Siehe auch ` primaryView()` und ` QWaylandView::advance()`.

bool QWaylandSurface::setRole(QWaylandSurfaceRole *role, wl_resource *errorResource, uint32_t errorCode)

Legt eine „ role “ für die Oberfläche fest. Eine Rolle definiert, wie eine Oberfläche auf dem Bildschirm dargestellt wird; ohne Rolle wird eine Oberfläche als ausgeblendet betrachtet. Sobald einer Oberfläche eine Rolle zugewiesen wurde, wird diese zu ihrer permanenten Rolle. Jeder nachfolgende Aufruf von ` setRole() ` mit einer anderen Rolle löst einen Protokollfehler beim ` errorResource ` aus und sendet eine ` errorCode ` an den Client. Die Durchsetzung dieser Anforderung ist der Hauptzweck der Oberflächenrolle.

Die „ role “ wird anhand des Zeigerwerts verglichen. Zwei beliebige Objekte von „ QWaylandSurfaceRole “ gelten als unterschiedliche Rollen, unabhängig von ihren Namen.

Die Oberflächenrolle wird intern von Protokollimplementierungen festgelegt, wenn eine Oberfläche für einen bestimmten Zweck übernommen wird, beispielsweise in einer Shell-Erweiterung. Sofern Sie keine Erweiterungen entwickeln, die Oberflächen auf diese Weise nutzen, sollten Sie diese Funktion nicht aufrufen.

Gibt „true“ zurück, wenn eine Rolle zugewiesen werden kann; andernfalls „false“.

[signal] void QWaylandSurface::surfaceDestroyed()

Dieses Signal wird ausgelöst, wenn die entsprechende wl_surface zerstört wird.

[slot] void QWaylandSurface::updateSelection()

Aktualisiert die Oberfläche mit der vom Compositor gespeicherten Auswahl aus der Zwischenablage. Obwohl dies automatisch geschieht, sobald die Oberfläche den Tastaturfokus erhält, ist diese Funktion nützlich, um Clients zu aktualisieren, die keinen Tastaturfokus haben.

QList<QWaylandView *> QWaylandSurface::views() const

Gibt die Ansichten für diese QWaylandSurface zurück.

wl_client *QWaylandSurface::waylandClient() const

Verwaltet die „ wl_client “ mithilfe dieses Links: QWaylandSurface.

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