Sur cette page

QWaylandView Class

La classe QWaylandView représente une vue d'une surface sur une sortie. Plus d'informations...

En-tête : #include <QWaylandView>
CMake : find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)
qmake : QT += waylandcompositor
En QML : WaylandView
Héritages : QObject

Propriétés

Fonctions publiques

QWaylandView(QObject *renderObject = nullptr, QObject *parent = nullptr)
virtual ~QWaylandView() override
virtual bool advance()
bool allowDiscardFrontBuffer() const
virtual void bufferCommitted(const QWaylandBufferRef &buffer, const QRegion &damage)
virtual QWaylandBufferRef currentBuffer()
virtual QRegion currentDamage()
virtual void discardCurrentBuffer()
bool isBufferLocked() const
bool isPrimary() const
QWaylandOutput *output() const
QObject *renderObject() const
void setAllowDiscardFrontBuffer(bool discard)
void setBufferLocked(bool locked)
void setOutput(QWaylandOutput *output)
void setPrimary()
void setSurface(QWaylandSurface *surface)
QWaylandSurface *surface() const
struct wl_resource *surfaceResource() const

Signaux

Description détaillée

Le QWaylandView correspond à la présentation d'une surface sur une sortie spécifique, en gérant les tampons qui contiennent le contenu à rendre. Il est possible d'avoir plusieurs vues d'une même surface.

Documentation des propriétés

allowDiscardFrontBuffer : bool

Par défaut, la vue verrouille le tampon actuel jusqu'à ce que advance() soit appelé. Définissez cette propriété à true pour permettre à Qt XML de libérer le tampon lorsque la vue principale ne l'utilise plus.

Cela peut être utilisé pour éviter qu'une vue secondaire qui se met à jour à une fréquence plus faible ne vienne réduire la fréquence d'images de l'application cliente.

Fonctions d'accès :

bool allowDiscardFrontBuffer() const
void setAllowDiscardFrontBuffer(bool discard)

Signal Notificateur :

void allowDiscardFrontBufferChanged()

bufferLocked : bool

Cette propriété indique si le tampon de la vue est actuellement verrouillé. Lorsque le tampon est verrouillé, advance() ne passe pas au tampon suivant et renvoie false.

La valeur par défaut est false.

Fonctions d'accès :

bool isBufferLocked() const
void setBufferLocked(bool locked)

Signal de notification :

void bufferLockedChanged()

output : QWaylandOutput*

Cette propriété contient la sortie sur laquelle cette vue affiche sa surface.

Fonctions d'accès :

QWaylandOutput *output() const
void setOutput(QWaylandOutput *output)

Signal de notification :

void outputChanged()

surface : QWaylandSurface*

Cette propriété contient la surface vue par ce site QWaylandView.

Fonctions d'accès :

QWaylandSurface *surface() const
void setSurface(QWaylandSurface *surface)

Signal du notificateur :

void surfaceChanged()

Fonction membre Documentation

QWaylandView::QWaylandView(QObject *renderObject = nullptr, QObject *parent = nullptr)

Construit un QWaylandView avec les données renderObject et parent.

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

Détruit le site QWaylandView.

[virtual] bool QWaylandView::advance()

Met à jour le tampon actuel et la région endommagée avec la dernière version validée par le client. Retourne true si un nouveau contenu a été validé depuis le dernier appel à advance(). Sinon, il renvoie false.

Voir aussi currentBuffer() et currentDamage().

[virtual] void QWaylandView::bufferCommitted(const QWaylandBufferRef &buffer, const QRegion &damage)

Cette fonction est appelée lorsqu'un nouveau buffer est ajouté à la surface de cette vue. damage contient la région qui est différente du tampon actuel, c'est-à-dire la région qui doit être mise à jour. Le nouveau buffer sera mis à jour lors du prochain appel à advance().

Les sous-classes qui réimplémentent cette fonction doivent appeler l'implémentation de base.

[virtual] QWaylandBufferRef QWaylandView::currentBuffer()

Renvoie une référence au tampon actuel de cette vue.

[virtual] QRegion QWaylandView::currentDamage()

Renvoie la zone de dommages actuelle de cette vue.

[virtual] void QWaylandView::discardCurrentBuffer()

Force la vue à se débarrasser de son tampon actuel, afin de permettre sa réutilisation du côté du client.

bool QWaylandView::isPrimary() const

Retourne vrai si cette page QWaylandView est la vue principale de l'application. QWaylandSurface

Voir aussi QWaylandSurface::primaryView.

void QWaylandView::setPrimary()

Fait de ce site QWaylandView la vue principale de la surface.

Cela n'a aucun effet si ce site QWaylandView ne contient pas de données. QWaylandSurface

Voir aussi isPrimary() et QWaylandSurface::primaryView.

struct wl_resource *QWaylandView::surfaceResource() const

Renvoie la ressource surfacique Wayland pour ce site QWaylandView.

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